javascript - 使用 for 循环后,我的所有柱形图都以单色绘制,我需要在 highcharts 中使用不同颜色的每个条形图

标签 javascript highcharts

enter image description here enter image description here

$.getJSON("json/slide6_chart1.json", function(json) {
    var len = json.length;                              
    for(i=0;i<len; i++){                                      
            options.xAxis.categories = json[0]['data'];  
            j = i-1;                         
            options.series[j] = json[i];                    
            chart = new Highcharts.Chart(options);  
        };

最佳答案

也许您对循环中创建的所有图表使用相同的配置对象。

const colors = Highcharts.getOptions().colors
const option = {
  series: [{
    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
    type: 'column',
    color: colors[0]
  }]
}
const options = []
for (let i = 0; i < 4; ++i) {
  option.series[0].color = colors[i]
  options[i] = option
    //options[i] = JSON.parse(JSON.stringify(option)) // Clone object
}
for (let i = 0; i < 4; ++i) {
  Highcharts.chart('chart' + i, options[i])
}

实例: https://jsfiddle.net/q7x1Lecg/

关于javascript - 使用 for 循环后,我的所有柱形图都以单色绘制,我需要在 highcharts 中使用不同颜色的每个条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41827898/

相关文章:

javascript - Highcharts 工具提示显示在 div 上

javascript - 单击事件不会在 highcharts 工具提示中触发

javascript - Highcharts - 仅当值为 null 时才连接 null

javascript - 是否可以更改作为文本元素克隆的 svg use 元素的 textContent 值?

javascript - 如何使用javascript添加粗体文本

Highcharts xrange 条形高度 0 用于较大的数据集

php - Highcharts 实时数据,json ajax

javascript - jQuery 变量被多次定义 : for events and when the page loads

javascript - 方法在第二次运行时调用两次 - JavaScript

javascript - 使顶部 div 对页面透明,而其下方的 div 则不透明