Как установить цветовую диаграмму jqplot на панель?
Я пытаюсь установить цвета своих баров гистограммы jqplot. Там всегда будет шесть баров, сгруппированных в комплекты из 2 баров. Ниже приведен пример данных:
line1 = [6000, 5000, 5500];
line2 = [16000, 10000, 14000];
Я использовал следующее:
seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501", "#027997", "#CF3501", "#027997"],
Но jqplot поочередно заменяет первые 2 бара, вместо того, чтобы использовать все объявленные цвета. Вероятно, это связано с тем, что только 2 серии присутствуют, по одному на набор данных.
Есть ли способ явно задать цвета столбцов?
Ответы
Ответ 1
Я делаю это, используя метод varyBarColor, чтобы вы могли перечислять разные цвета для баров в простом массиве, как вы уже делали, но если есть только одна серия, она будет использовать эти цвета для каждого бара. Вот пример моего кода:
plot1 = $.jqplot('chart1', [s1], {
title: 'Example Income Graph',
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions:{ varyBarColor : true },
pointLabels: { show : true }
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
label:'Net Growth (%)',
ticks: ticks
},
yaxis:{
label:'Income (£)',
tickOptions:{ formatString:'%d'},
autoscale:true,
min:0,
max:10000
}
},
seriesColors: [ "#eee", "#ccc", "#999"],
highlighter: { show: false }
});
На этом графике у меня была одна серия с 3 барами, каждая из которых имела разные цвета.
Ответ 2
Это довольно старый, но все еще не имеет правильного ответа, и мне потребовалось некоторое время, чтобы понять это, так что вот оно.
Вам нужны две вещи:
Задайте переменнуюBarColor и массив серий, который содержит цвета серии для каждой серии, переданные на том же уровне, что и seriesDefaults, например:
plot1 = $.jqplot('chart1', [s1, s2], {
title: 'Example',
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions:{ varyBarColor : true },
pointLabels: { show : true }
},
series: [{seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501"]},
{seriesColors: ["#027997", "#CF3501", "#027997"]}]
}
Ответ 3
попробуйте это
series:[{renderer:$.jqplot.BarRenderer , seriesColors: ["#F3CBBF", "#BFDDE5", #CF3501","#eee", "#ccc", "#999"] }]