我正在尝试将固体规格表设置为使用colorAxis dataClasses为范围使用定义的颜色,但是它不起作用。不知道我在做什么错。
我应该如何定义colorAxis和dataClasses?
请参阅http://jsfiddle.net/edob/27oc38L1 更新!。我已对小提琴进行了修改,以使用光阑,它适用于定义为红色,绿色和十六进制颜色的颜色!尝试使用51、65和81之类的值
$(function() {
Highcharts.chart('container-cpu', {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
yAxis: {
min: 0,
max: 100,
title: {
text: 'CPU'
}
},
colorAxis: {
dataClasses: [{
from: 0,
to: 50,
color: 'red'
}, {
from: 50,
to: 90,
color: 'green'
}, {
from: 90,
color: 'yellow'
}]
},
series: [{
name: 'HDD',
data: [70]
}]
});
});
对于任何值,我都会看到默认的蓝色,对于值70,我希望会看到绿色。
答案 0 :(得分:2)
要为实体表的值上色,应使用光阑,如下所示:
yAxis: {
stops: [
[0.5, 'red'],
[0.9, 'green'],
[1, 'yellow']
],
min: 0,
max: 100,
title: {
text: 'CPU'
}
},
仅固态压力表系列。色标停止。如果minColor和maxColor之间的线性渐变不足,请使用此选项。停止点是一个元组数组,其中第一项是0到1之间的浮点数,指定了渐变中的相对位置,第二项是颜色。
工作中的JSFiddle示例: http://jsfiddle.net/ewolden/c8qy4x5o/1/
停止处的API: https://api.highcharts.com/highcharts/yAxis.stops
自从您在评论中说过,您要使用纯色而不是渐变;以下是实现该目标的一种方法:
chart: {
type: 'solidgauge',
events: {
load: function() {
var currentValue = this.series[0].points[0].y;
var newColor = '';
console.log(currentValue)
if(currentValue < 50) {
newColor = 'red'
} else if(currentValue < 90) {
newColor = 'green'
} else {
newColor = 'yellow'
}
this.series[0].points[0].update({color: newColor}, true)
}
}
},
工作示例: http://jsfiddle.net/ewolden/s9qrhtmb/
point.update上的API: https://api.highcharts.com/class-reference/Highcharts.Point#update
答案 1 :(得分:0)
您需要在colorAxis
中添加具有适当值的stops
而不是yAxis
。我相信这就是您要寻找的working example。当我检查它没有创建渐变并且颜色是纯色时。
$(function() {
Highcharts.chart('container-cpu', {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
yAxis: {
stops: [
[0.5, '#DF5353'], // red
[0.9, '#55BF3B'], // green
[1, '#DDDF0D'] // yellow
],
min: 0,
max: 100,
title: {
text: 'CPU'
}
},
series: [{
name: 'HDD',
data: [49]
}]
});
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/solid-gauge.js"></script>
<div id="container-cpu" class="chart-container"></div>