我有一个堆叠的背图,其中我在最高条的高度添加了一个不可见的条形图。所以当一个列包含时 如果值很小,此列仍可以单击。在这种情况下,如果没有不可见的堆栈,则值为1的列将难以点击。
但是,我在每列上方对齐标签时遇到问题。我知道我可以使用像:
dataLabels: {
enabled: true,
color: blue,
y: -100,
}
但是这并没有像你在图片中看到的那样真正起作用。最后一个条形的值显示在条形图中,这使其不可见。
如果我能从某个系列中的一个栏中获得顶部,(在我的情况下是第二个)并且将dataLabel置于其上方位置,那将是最好的。类似stackLabels的东西。
我试过这样的事情,但没有成功:
$.each(chart.series[1], function (pointIndex, point) {
if (point !== undefined) {
var elem = point.graphic.element.getBBox();
point.dataLabel.attr({ y: elem + 20 });
}
});
答案 0 :(得分:0)
解决方案比我想象的容易得多,我最终做了以下事情:
var chart = $('#target').highcharts();
var points = chart.series[1].points;
$.each(points, function (pointIndex, point) {
text = chart.renderer.text(
'Put whatever you like here',
point.plotX + chart.plotLeft - 10,
point.plotY + chart.plotTop - 20
).attr({
zIndex: 5
}).add();
});
使用了来自this example的代码。