#javascript #graph #highcharts
#javascript #График #highcharts
Вопрос:
Я использую HighCharts для отчета о линейном графике. В этом конкретном отчете меня попросили настроить цвета каждой серии. Серия всегда будет оставаться неизменной. Так, например:
Серия Джона: синяя пунктирная линия Серия Мэри: сплошная красная линия
Кто-нибудь знает, как это сделать?
Ответ №1:
Параметры могут быть установлены отдельно для каждой серии.
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
type: 'datetime'
},
series: [{
name: 'John',
color: '#0066FF',
dashStyle: 'ShortDash',
data: [
[Date.UTC(2010, 0, 1), 29.9],
[Date.UTC(2010, 2, 1), 71.5],
[Date.UTC(2010, 3, 1), 106.4]
]
},{
name: 'Mary',
color: '#FF0000',
data: [
[Date.UTC(2010, 0, 1), 60.9],
[Date.UTC(2010, 1, 1), 40.5],
[Date.UTC(2010, 2, 1), 90.0],
[Date.UTC(2010, 3, 1), 80.4]
]
}]
});
Комментарии:
1. Спасибо за это! В справочных документах создавалось впечатление, что вы можете задавать параметры только для всех серий. Я подумал, что это странно, когда увидел это, но это проясняет ситуацию.
2. Можете ли вы сделать этот цвет условным? Интересно, можно ли получить доступ к цвету через форматировщик.
Ответ №2:
Если вы прочитаете api здесь, вы увидите следующий текст.
Серия
Фактический ряд для добавления к диаграмме. В дополнение к элементам, перечисленным ниже, любой элемент
plotOptions
для этого конкретного типа графика может быть добавлен в ряд по отдельности. Например, даже несмотря на общиеlineWidth
указанного вplotOptions.series
, ЧеловекlineWidth
может быть указано для каждой серии.
Таким образом, вы можете добавить что угодно из plotOptions
.
ДЕМОНСТРАЦИЯ:
series: [{
name: 'serie1',
data: [0,1,2,3,4,5,6,7,8,9],
color: '#FFFF00',
lineWidth: 4,
id: 'serie1',
step: true
}]