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部分)
但是,图例没问题(禁用的内容保持禁用)。
您能帮我找到解决方法吗? 谢谢。
请在下面找到我所解释的内容的视觉描述:
答案 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();
});