所以我在我的jQuery脚本中的函数中创建一个highcharts条形图,它工作正常,直到我尝试为条形图的每个条形图合并不同的颜色 . 我的代码基本如下
function BarChart(title, gType, list, numbers){
var data = [];
var allData = [];
var series = [];
var len = numbers.length;
var colors = ['#7cb5ec', '#434348', '#90ed7d', '#f7a35c', '#8085e9', '#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1'];
for(i=0; i<len; i++){
data.push({
y: numbers[i],
color:colors[i]
});
allData.push(data[i]);
}
for(i=0; i<len; i++){
series.push({
name: list[i],
data: allData[i]
});
}
然后我继续创建图表和系列,我简单地说
series: series
但是没有栏目,只有传奇, Headers ,yAxis Headers 和xAxis Headers . 如果你可以帮助我做得很好,希望我的问题很清楚!谢谢!
附:
当我刚刚放
series:[{
data: data
}]
它有效,但是所有的传说都是系列1而我不想要它,我希望它实际上显示每个数据的名称及其相应的颜色,再次感谢!
2 回答
如果您仍在查看图例中的“系列1”问题 . 我发现了一种有趣的方法,让每个点都是它自己的系列,并且仍然在x轴上正确分组 . 它通过滥用条形堆叠来工作:
并在每个数据点上设置增量x值:
这是一个从我从highcharts docs派生的例子构建的工作小提琴:
http://jsfiddle.net/89efeqhs/
我解决了自己的问题,但仅仅是为了引用遇到这个问题的其他人,它的评价很简单 . 写下这段代码,
而highcharts将分别为每个条/列/线着色 .
这里的参考是highcharts页面向我展示了这个:http://api.highcharts.com/highcharts#plotOptions.bar