有没有办法将highcharts的dataLabels设置为不与较小尺寸重叠?
我的图表是similar to this one,但我想要达到的是:
如果没有指定x
的{{1}}和y
位置,还有其他选项吗?
dataLabels
答案 0 :(得分:2)
您可以使用检测到碰撞的this示例。
events: {
load: function() {
StaggerDataLabels(this.series);
},
redraw: function() {
var series = this.series;
setTimeout(function() {
StaggerDataLabels(series);
}, 1000);
}
},
答案 1 :(得分:0)
您可以将它们与客户格式化程序交替使用。此函数跟踪它被调用的次数,并仅返回偶数调用的标签:
plotOptions: {
series: {
dataLabels: {
enabled: true,
formatter: function(){
if (this.series.chart.dlFCalls == null){
this.series.chart.dlFCalls = -1;
}
this.series.chart.dlFCalls++;
if (this.series.chart.dlFCalls % 2 == 0){
return this.y;
}
}
}
}
}
就拟合长文本而言,我会使用rotation的组合并稍微偏移y值。
这是一个小提琴example。