добавить ось за столбцом с накоплением

#highcharts #highstock

#верхние диаграммы

Вопрос:

У меня здесь https://jsfiddle.net/ezhp5a4j/6 / область и столбчатая диаграмма с накоплением, но мне нужно добиться чего-то вроде: добавление другой серии: столбец за этим фактическим, но не сложенным, начиная с января 2010 года и до конца декабря 2010 года с определенной позицией по оси y, моя потребность очень проста, но я незнаете, как добиться, я думаю, мне нужна еще одна ось X? На самом деле у меня есть:

 xAxis: {
    type: 'datetime',
    ordinal: false
  },
  

Может быть, мне нужно добавить массив к этому или около того?

Ответ №1:

Вы могли бы сделать это со второй осью, но в этом нет необходимости.

Если вы добавите свой новый ряд данных с некоторыми дополнительными параметрами для управления размером и интервалом, все они могут использовать одну и ту же ось x.

Пример:

 {
  "name": 'Summary',
  type: 'column',
  grouping: false, <-- make sure they don't group with the other series
  stacking: false, <-- make sure they don't stack on the other series
  color: 'rgba(0,0,0,0.5)',
  pointRange: 86400000 * 365, , <-- 1 year; set to desired time frame
  pointInterval: 86400000 * 365, <-- 1 year; set to desired time frame
  pointPadding: 0.01,
  groupPadding: 0,
  data: [10000, 15000, 9000, 13000]
}
  

Обновленная скрипка:

Вывод:

введите описание изображения здесь

РЕДАКТИРОВАТЬ для комментариев:

Чтобы добавить вторую ось, вы меняете xAxis объект на массив объектов, например:

 xAxis: [{
  type: 'datetime',
  ordinal: false
},{
  linkedTo: 0,
  type: 'datetime',
  ordinal: false
}]
  

Если они будут иметь разные масштабы, я не уверен, что имеет смысл строить их вместе, но в этом случае вы бы удалили linkedTo: 0

Затем в ваших данных вам нужно указать, какие ряды данных отображаются на второй оси, добавив xAxis: 1 к параметрам рядов (вам не нужно указывать xAxis: 0 для других рядов, так как 0 это используется по умолчанию.

Поскольку вы указали a pointStart в своем plotOptions , если ряд, нанесенный на вторую ось, будет иметь другой масштаб, вам нужно будет указать отдельные pointStart параметры в этом ряду.

Обновить пример скрипки:

Комментарии:

1. да, это потрясающе, и это то, что мне нужно, как я могу иметь ту же мысль с другой осью? потому что у меня разные начальная и конечная даты в позиции Y. Возможно ли это из моего jsfiddle? Я не знаю, как правильно создать другую ось, спасибо

2. Смотрите Обновленный ответ и скрипку. Но я бы настоятельно рекомендовал не использовать две оси для такого расположения — если у вас разные начальная и конечная точки, используйте самую раннюю начальную точку и самую последнюю конечную точку, чтобы данные отображались таким образом, чтобы иметь смысл вместе.

3. потрясающе, но вы сказали использовать начальную и конечную точки, что вы имеете в виду? в вашем примере вы используете интервал, но у меня другой размер столбца вы имеете в виду, что предпочтительнее добавлять другой объект, подобный этому { "name": 'Summary', type: 'column', grouping: false, stacking: false, color: 'rgba(0,0,0,0.5)', pointRange: 86400000 * 365, pointInterval: 86400000 * 365, pointPadding: 0.01, groupPadding: 0, data: [10000, 15000, 9000, 13000] } , вы имеете в виду добавить несколько объектов, подобных этому? Я добавлю ТЕГИ после этого, потому что я думаю, что используйте новую ось

4. я имел в виду, что если вы строите данные о датах вместе таким образом, предпочтительнее использовать одну и ту же ось, чтобы даты были правильно выровнены и не вводили в заблуждение. Если вы сравниваете предыдущий год или что-то в этом роде, это может иметь больше смысла.

5. хорошо, я понимаю, что лучше не использовать другую ось, поэтому вы советуете мне использовать что-то подобное? jsfiddle.net/ezhp5a4j/18 потому что я не могу указать pointEnd ? Мне нужен один столбец с датой from-to, а другой с другой датой from-to, я думаю, что я ошибаюсь, потому что не работает (ps, чтобы лучше понять, у меня есть только 10 элементов вместо моей старой ДЛИННОЙ серии jsonData) благодаря вашей помощи, но нужно