我想知道如果文本不适合条形图的长度,条形图(plotOptions.bar.dataLabels.color)中的文本颜色可能会不同。例如:
代码如下:
$(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]
}]
});
});
先谢谢你
3条答案
按热度按时间acruukt91#
可能的解决方案是使用格式化程序。确定值是否低于某个级别,然后更改dataLabel颜色。例如:http://jsfiddle.net/Yrygy/176/
也可以将点的宽度与y值字符串的长度进行比较。
kmb7vmvb2#
我这样使用“isInside”值:
但是如果这对你不起作用,可以使用“this.point.shapeArgs.height”,并检查该高度是否大于文本的长度。
bq8i3lrv3#
您可以将颜色设置为
contrast
,它将根据dataLabel是在栏内还是栏外而变化。