我可以使用以下内容更改图表xAxis标签的颜色:
Highcharts.chart('container', {
chart: {
marginBottom: 80
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
labels: {
style: {
color: 'red'
}
}
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
尽管如此,上述内容会将所有xAxis标签更改为红色。
如何单独更改每种标签颜色,以便" Jan"是红色的," 2月"是蓝色等等。
答案 0 :(得分:3)
您可以使用Axis.labels.formatter并在html标签中返回带有style属性的标签,该属性可以定义您的颜色。
const color = {
Jan: 'red',
Feb: 'green',
Mar: 'blue'
}
const chart = Highcharts.chart('container', {
chart: {
marginBottom: 80
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar'],
labels: {
formatter () {
return `<span style="color: ${color[this.value]}">${this.value}</span>`
}
}
},
series: [{
data: [29.9, 71.5, 106.4]
}]
})
console.log(chart.series[0].data)
答案 1 :(得分:0)
我希望你!!!
xAxis : {
categories : _category,
labels : {
formatter : function() {
if (_category != null && _category.length > 0) {
var currentColumn = -1;
for (var i = 0; i < _category.length; i++) {
if (_category[i] == this.value) {
currentColumn = i;
break;
}
}
if (isNumberEven(currentColumn)) {
return '<span style="fill: blue;">' + this.value + '</span>';
} else {
return this.value;
}
}
}
}
}