系列在HighCharts中不工作

Series Not Working in HighCharts

本文关键字:工作 HighCharts 系列      更新时间:2023-09-26

所以我在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

但是没有栏,只有图例,标题,yAxis标题和xAxis标题。如果你能帮助我,那就太好了,希望我的问题足够清楚!谢谢!

公立小学

当我把

series:[{
data: data
}] 

它工作,但所有的图例显示的是系列1,我不希望那样,我希望它实际上显示每个数据的名称与相应的颜色,再次感谢!

如果您还在查看图例中的"Series 1"问题。我发现了一个有趣的方法,让每个点都是它自己的级数,并且仍然正确地在x轴上分组。它的工作原理是滥用条形叠加:

plotOptions: {
  series: {
    stacking: 'normal'
  }
},

并在每个数据点上设置一个增量x值:

data.forEach(function(val, i) {
    seriesData.push({
      name: categories[i],
      color: colors[(i % colors.length)],
      data: [{
        x: i,
        y: val
      }]
    });
  });

下面是我从highcharts文档中得到的一个例子:

http://jsfiddle.net/89efeqhs/

我解决了我自己的问题,但仅供其他遇到此问题的人参考,它相当简单。写下面的代码

plotOptions:{
series:{
    colorByPoint: true
}}

highcharts将为每个栏/列/行分别上色。

作为参考,这里是highcharts页面,显示了我这个:http://api.highcharts.com/highcharts#plotOptions.bar