我正在根据一些用户输入创建一个Highcharts折线图。用户可以选择1个或多个分组和日期范围,然后为每个组创建一个系列。这项工作正常,但当他们选择超过3组时,图表看起来很糟糕,因为数据标签太多了。
我想仅在图表上少于4个系列的情况下有条件地启用数据标签。我怎样才能做到这一点?我正在尝试这样但我似乎无法让它发挥作用。
plotOptions: {
line: {
dataLabels: {
enabled: function() {
return !!(chart.series.length > 3);
},
color: '#000000',
formatter: function() {
return Highcharts.numberFormat(this.y, 2);
}
}
}
}
答案 0 :(得分:2)
创建系列时,请跟踪您创建的系列数。还有一个javascript变量'showDataLabels = true'。如果在创建时系列的数量超过4,请设置showDataLabels = false;
var showDataLabels = true;
// start creating the series.
如果是num系列> 4 showDataLabels = false;
准备好生成图表后,请使用:
plotOptions: {
line: {
dataLabels: {
enabled:showDataLabels,
color: '#000000',
formatter: function() {
return Highcharts.numberFormat(this.y, 2);
}
}
}
},
答案 1 :(得分:-1)
在dataLables中使用Formatter功能
formatter: function () {
if(this.y!=0)
return this.y;
else`enter code here`
return "";
}