我可以完全在高图中更改系列数组吗?

时间:2018-10-23 09:43:51

标签: javascript highcharts

我有一个需要完全改变图表中的序列数组的要求,

我的图表中有2个图例,我希望加载一个禁用图例的图表,效果很好, 现在,当用户单击禁用的图例时,应将相应的数据自动添加到图表中, 我对chart.series.addSeries()进行了相同的尝试,但这带来了不同的问题,因为要添加的新数据不仅在第一个图例之后,而且还位于这些图例之间

chart 例如:图表加载时,只有灰色的图例,橙色是隐藏的或根本没有添加,单击橙色图例时,我想将此数据添加到该图表中,请检查图像中的图表  有什么办法可以完全替换系列数组。

类似

chart.update({
    series:newSeriesArray
});

我正在使用highchart的条形图。 预先感谢。

1 个答案:

答案 0 :(得分:0)

  

我的图表中有2个图例

每个系列都有单独的图例吗?还是每个系列都有图例?

高级图表提供了将数据设置为特定系列-series.setData()方法的可能性。因此,在初始化图表时,您可以使用属性visible: false创建空系列(带有名称,颜色等但没有数据数组的系列),那么您的系列将被隐藏,并且图例项被禁用:

  {
    name: 'Year 2016',
    data: [],
    visible: false
  }

当用户单击图例项目plotOptions.series.events.legendItemClick时,将调用功能(如果已定义)。在此功能中,您可以如上所述使用series.setData()将数据设置为该特定系列:

  plotOptions: {
    bar: {
      events: {
        legendItemClick: function() {
          if (!this.data.length) {
            this.setData([665, 234, 2344, 123, 23])
          }
        }
      }
    }
  }

演示: https://jsfiddle.net/wchmiel/uLfcknsb/