highcharts dataLabel溢出:证明问题

时间:2013-11-21 15:59:54

标签: highcharts

我已经从highcharts 3.0.5升级到3.0.7并且随着这一变化出现了dataLabels overflow:justify属性,该属性被设置为证明dataLabels的合理性(例如,参见this fiddle)。这只会将落在图表外部的标签滑动到条形图中,但颜色不会改变,并且似乎没有更改颜色的选项。是否有A)任何方法强制标签出现在条形图旁边并重新调整条形图的大小,或B)当overflow: justify开始播放时改变颜色的任何方式?

立刻想到的唯一“修复”就是提供一些maxPadding,但感觉有些笨拙。

2 个答案:

答案 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)

您可以使用属性

overflow: 'none',
crop: false

这是API reference

我希望这会对你有所帮助