Highcharts - 重叠的散点图标签不可读
Highcharts - Overlapping scatterplot labels are not readable
我想把用highcharts制作的散点图的所有数据标签都清晰显示出来
我有一个散点图,其中的点可能重叠或非常靠近。默认情况下,highcharts 隐藏所有重叠的标签,但我要求所有标签都可见。
我试过设置 'allowOverlap: true'。这使得所有标签都按我想要的方式显示,但标签并不总是可读的。
是否有任何更简洁的方法来确保所有标签在散点图上可见,或者是否有人能够检测和抵消重叠标签?
JSFiddle,其中仅显示四个标签中的三个:
https://jsfiddle.net/jholwell/vbc58Luh/
Highcharts.chart('container', {
series: [{
data: [[1, 1], [1.8, 1.8], [1.9, 1.8], [5, 2]],
type: 'scatter'
}],
plotOptions: {
scatter: {
dataLabels: {
enabled: true,
}
}
}
});
Highcharts 目前 doesn't have collision detection for labels, but building on an answer to a similar question,您可以在图表的 load
和 redraw
上实现自己的碰撞检测器(此处:staggerDataLabels()
)和 运行事件:
Highcharts.chart('container', {
chart: {
events: {
load: function() {
staggerDataLabels(this.series);
},
redraw: function() {
staggerDataLabels(this.series);
}
},
},
...
});
function staggerDataLabels(series) {
...
我想把用highcharts制作的散点图的所有数据标签都清晰显示出来
我有一个散点图,其中的点可能重叠或非常靠近。默认情况下,highcharts 隐藏所有重叠的标签,但我要求所有标签都可见。 我试过设置 'allowOverlap: true'。这使得所有标签都按我想要的方式显示,但标签并不总是可读的。 是否有任何更简洁的方法来确保所有标签在散点图上可见,或者是否有人能够检测和抵消重叠标签?
JSFiddle,其中仅显示四个标签中的三个: https://jsfiddle.net/jholwell/vbc58Luh/
Highcharts.chart('container', {
series: [{
data: [[1, 1], [1.8, 1.8], [1.9, 1.8], [5, 2]],
type: 'scatter'
}],
plotOptions: {
scatter: {
dataLabels: {
enabled: true,
}
}
}
});
Highcharts 目前 doesn't have collision detection for labels, but building on an answer to a similar question,您可以在图表的 load
和 redraw
上实现自己的碰撞检测器(此处:staggerDataLabels()
)和 运行事件:
Highcharts.chart('container', {
chart: {
events: {
load: function() {
staggerDataLabels(this.series);
},
redraw: function() {
staggerDataLabels(this.series);
}
},
},
...
});
function staggerDataLabels(series) {
...