我想得到一个像这样的仪表,用黑色标记设置阈值和内部“蓝色”数据作为负载。
我在我的代码中使用了Highcharts(我没有太多的知识)来获得尽可能接近的所需规格,但是我得到的是下面的东西,只是加载没有“标记”:< / p>
代码如下:
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '80%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
// the value axis
yAxis: {
stops: [
[0.1, '#55BF3B'], // green
[0.6, '#DDDF0D'], // yellow
[0.9, '#DF5353'] // red
],
lineWidth: 0,
minorTickInterval: null,
tickAmount: 2,
title: {
y: -70
},
labels: {
y: 16
}
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
var chartSpeed = Highcharts.chart('container-speed', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 100
},
credits: {
enabled: false
},
series: [{
name: 'Load',
data: [{
radius: '100%',
innerRadius: '80%',
y: Number($scope.user.threshold)
}],
dataLabels: {
format: '<div style="text-align:center"><span style="font-size:25px;color:' +
('black') + '">{y}</span><br/>' +
'<span style="font-size:12px;color:silver">%</span></div>'
},
tooltip: {
valueSuffix: ' %'
}
}]
}));
关于如何获得第一个量规的任何想法?此外,它应该能够判断负载何时超过阈值。
编辑(已解决):
yAxis: {
plotBands: [{
from: 60,
to: 61,
color: 'black',
thickness: '45%',
outerRadius: '105%',
zIndex: 5
}], .... }
将此添加到我的代码中,使其正常工作。
答案 0 :(得分:2)
您可以使用绘图带来实现此目的:
yAxis: {
plotBands: {
from: 70,
to: 71,
color: '#DF5353',
thickness: '40%'
},
...
}
厚度是标记上半径的长度(通过查看图表更容易理解)。
这里有很多配置选项,应该可以通过查看API来搞清楚。
工作示例:http://jsfiddle.net/ewolden/6rL9u37d/2/
yAxis.plotBands上的API :https://api.highcharts.com/highcharts/yAxis.plotBands