#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) благодаря вашей помощи, но нужно