javascript - Highchart 条形图内外的数据标签颜色可以不同吗

标签 javascript highcharts

我想知道如果文本不适合条形长度,条形图 (plotOptions.bar.dataLabels.color) 内的文本颜色可能会有所不同。例如: enter image description here

代码在这里:

$(function () {
$('#container').highcharts({
    chart: {
        type: 'bar',
        height: 700
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    plotOptions: {
        bar: {
            stacking: 'normal',
            pointPadding: 0,
            groupPadding: 0.2,
            dataLabels: {
                enabled: true,
                color: 'black',
                align: "right",
                format: '{y} M',
                inside: false,
                style: {
                    fontWeight: 'bold'
                },
                verticalAlign: "middle"
            },
        }
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 2.33]
    }]
});

});

提前致谢

最佳答案

可能的解决方案是使用格式化程序。确定值是否低于某个级别,然后更改 dataLabel 颜色。例如:http://jsfiddle.net/Yrygy/176/

                formatter: function() {
                    var max = this.series.yAxis.max,
                        color =  this.y / max < 0.05 ? 'black' : 'white'; // 5% width
                    return '<span style="color: ' + color + '">' + this.y + ' M</span>';   
                },

您还可以将点的宽度与 y 值字符串的长度进行比较。

关于javascript - Highchart 条形图内外的数据标签颜色可以不同吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24011614/

相关文章:

javascript - Jquery 在加载 CSS ddsmoothmenu 之前显示 UL 列表结构

javascript - jQuery:使用单个 Ajax 调用,接收渐进状态而不是单个响应?

javascript - Highstocks/Highcharts API : how to add spline/line to already rendered chart?

javascript - 如何使用 Angular JS 在 Highcharts 中设置 'lang' 属性?

javascript - Jquery POST 不填充数组

javascript - Highcharts xAxis 与日期时间不显示任何图表

javascript - 使用以前的对象值返回新的 JS 对象

javascript - 字符串化 JSON 内部对象的最佳实践

javascript - 尝试附加特定图像类型的图像计数 | jQuery

javascript - 如何将 Highmaps 工具提示 {point.value} 显示为字符串