Javascript 如果某一年某个系列的值为0,我希望从图表中动态隐藏该系列
如果某一年某个系列的值为0,我希望从图表中动态隐藏该系列 从下表可以看出,在2020年及以上,我没有实际值,所以我不想显示这两个系列之间的差距 我尝试了下面的代码,但它隐藏了全年的实际值。基本上,它隐藏了实际的整体。我只想,如果实际值为0,那么不要在承保和烧烤之间留下差距Javascript 如果某一年某个系列的值为0,我希望从图表中动态隐藏该系列,javascript,angular,typescript,syncfusion,Javascript,Angular,Typescript,Syncfusion,如果某一年某个系列的值为0,我希望从图表中动态隐藏该系列 从下表可以看出,在2020年及以上,我没有实际值,所以我不想显示这两个系列之间的差距 我尝试了下面的代码,但它隐藏了全年的实际值。基本上,它隐藏了实际的整体。我只想,如果实际值为0,那么不要在承保和烧烤之间留下差距 public seriesRender(args: ISeriesRenderEventArgs ): void { for (const key in args.data) { if (Objec
public seriesRender(args: ISeriesRenderEventArgs ): void {
for (const key in args.data) {
if (Object.prototype.hasOwnProperty.call(args.data, key)) {
const element = args.data[key];
if(element.actual == 0 && args.series.name == 'Actual'){
args.series.chart.visibleSeries.forEach(element => {
if(element.name == 'Actual')
element.visible = false;
});
}
}
}
}
HTML:
<e-series-collection>
<e-series [animation]="animation" [dataSource]='chartData' type='Column' xName='year' yName='underwriting' [name]='underwritingLabel' [marker]='marker'></e-series>
<e-series [animation]="animation" [dataSource]='chartData' type='Column' xName='year' yName='actual' name='Actual' == 0" [marker]='marker'></e-series>
<e-series [animation]="animation" [dataSource]='chartData' type='Column' xName='year' yName='grills' name='Grills' [marker]='marker'></e-series>
</e-series-collection>
到目前为止,无法跳过柱状图之间的空白。由于while series calculation,我们根据渲染的系列数量为所有点均分列宽。根据您的要求,如果必须删除特定空间,我们必须修改该点的列宽,这也会影响其余点的列宽。而且,它在视觉上也不会令人愉悦。因此,此场景不能视为功能请求
如果您有任何问题,请告诉我们
感谢visible=false仍将占用dom中的空间。我没有足够的代码来给出确切的答案。但请尝试折叠(对dom也隐藏)或在对象为0时移除对象。(这可以通过'remove element'完成)@LotteLemmens我尝试了visible=false,但它隐藏了所有带有实际值的序列。即使我删除了这个值,它仍然会显示在图表中,因为我的html看起来像上面那样。