我已经从highcharts 3.0.5升级到3.0.7并且随着这一变化出现了dataLabels overflow:justify
属性,该属性被设置为证明dataLabels的合理性(例如,参见this fiddle)。这只会将落在图表外部的标签滑动到条形图中,但颜色不会改变,并且似乎没有更改颜色的选项。是否有A)任何方法强制标签出现在条形图旁边并重新调整条形图的大小,或B)当overflow: justify
开始播放时改变颜色的任何方式?
立刻想到的唯一“修复”就是提供一些maxPadding,但感觉有些笨拙。
答案 0 :(得分:3)
我遇到了同样的事情,想出了一个似乎适合我的方案的解决方案。
渲染图表后,我查看了已经右对齐的dataLabel系列,然后使用jQuery将它们更改为白色。
// snipped: rendering the chart
var chart = $('#chartContainer').highcharts(),
labels = $('#chartContainer').find(".highcharts-data-labels tspan"),
indexesNeedingWhite = [];
$.each(chart.series[0].data, function (index, data) {
if (data.dataLabel.alignOptions.align === "right") {
indexesNeedingWhite.push(index);
}
});
// find the exact text label within this container
// and change the fill to white
$.each(indexesNeedingWhite, function (i, index) {
$(labels[index]).css('fill', 'white');
});
答案 1 :(得分:2)