系列在HighCharts中不起作用

时间:2015-08-05 15:13:44

标签: javascript jquery charts highcharts

所以我在我的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标题。如果你可以帮助我做得很好,希望我的问题很清楚!谢谢!

P.S。

当我刚刚提出

series:[{
data: data
}] 

它可以工作,但是所有传说都是系列1而我不希望这样,我希望它实际上显示每个数据的名称及其相应的颜色,再次感谢!

2 个答案:

答案 0 :(得分:0)

我解决了我自己的问题,但仅仅是为了引用遇到这个问题的其他人,它的评价很简单。写下这段代码,

plotOptions:{
series:{
    colorByPoint: true
}}

highcharts将分别为每个条/列/线着色。

此处的参考是highcharts页面,它向我展示了这个:http://api.highcharts.com/highcharts#plotOptions.bar

答案 1 :(得分:0)

如果您仍在查看&#34;系列1&#34;传奇中的问题。我找到了一种有趣的方法,让每个点成为它自己的系列,并且仍然在x轴上正确分组。它通过滥用条形堆叠来工作:

ListView

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

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</ListView.ItemContainerStyle>

这是一个从我从highcharts docs派生的例子构建的工作小提琴:

http://jsfiddle.net/89efeqhs/