我正在使用柱形图并在每个条形图的顶部显示这些值。如果它们是0,我不想显示值。如何做到这一点?这是我的一段代码
var series = { data: [],
dataLabels: {
enabled: true,
color: 'black',
align: 'right',
x: -3,
y: 3,
style: {
color: '#333',
fontWeight: 'bold',
fontSize: '12px',
fontFamily: 'Trebuchet MS, Verdana, sans-serif'
}
},
pointWidth: 28
};
答案 0 :(得分:28)
您可以使用格式化程序。这样的事情应该这样做:
dataLabels: {
formatter:function() {
if(this.y != 0) {
return this.y;
}
}
}
http://api.highcharts.com/highcharts#plotOptions.series.dataLabels.formatter
答案 1 :(得分:12)
您可以使用datalabels formatter并添加检查值是否大于零的条件。
plotOptions: {
series: {
dataLabels:{
enabled:true,
formatter:function(){
if(this.y > 0)
return this.y;
}
}
}
},
http://api.highcharts.com/highcharts#plotOptions.column.dataLabels.formatter
答案 2 :(得分:8)
以下是答案,如果现有的答案是正确的,那么你的问题有多短,我不是完整的。
在highcharts中,0被视为一个数字,因此它将在图表上呈现。但是隐藏了null。因此,当您添加数据时,您必须检查该值是否为0,如果是,则将其更改为null。
如果您有疑问,请告诉我。
小提琴:http://jsfiddle.net/8kr0tods/看到它可能是0而mar是null,并且隐藏了null。
if($VAL==0)
{
$VAL='null';
}
答案 3 :(得分:0)
在使用带有react / typescript的导出类时,我遇到了以上答案的问题。进入函数的“ this”是该类的“ this”,而不是预期的。
要解决这个问题,我不得不将函数移到导出类之外。这是一个例子。
<Segment StartTime="639.752" EndTime="642.270" Participant="fe016">
But I bet it's a good <Pause/> superset of it.
</Segment>