高图|热图|图例过滤器在更新数据时不起作用

时间:2018-11-28 14:32:32

标签: javascript highcharts heatmap

setData 函数如何与一系列类型的 HEATMAP ',更新数据以及何时使用功能有关一个或多个传奇过滤器已被禁用。

我根据数据表示的值使用3种颜色填充热图图表(效果很好),每种颜色在图例中显示为一个项目:

options.colorAxis = {
      dataClasses: [
{
      color: GREEN,
      from: 0,
      to: 50,  
    },
    {
      color: ORANGE,
      from: 50,
      to: 100, 
    },
    {
      color: RED,
      from: 100,  
      to: 1e6,
    }]

    };

当我想用来自服务器的新数据更新图表时,我使用:

this.chart.series[0].setData(newData, true, false, false);

这很好,除了,如果通过单击图例项禁用了颜色。

问题在于,当数据更新时,过滤器过滤掉的所有颜色会重新显示在图表上(下图,第3部分)

但是,图例没问题(禁用的内容保持禁用)。

您能帮我找到解决方法吗? 谢谢。

请在下面找到我所解释的内容的视觉描述:

enter image description here

1 个答案:

答案 0 :(得分:0)

FWIW,这就是我解决问题的方式。

使用

更新之后
this.chart.series[0].setData(newData, true, false, false);

我刚刚添加了以下几行(以编程方式将数据组的可见性切换了两倍):

const allItems = (<any>this.chart.legend).allItems as Array<any> ;

allItems.forEach( item => {
  item.setVisible();
  item.setVisible();
});