Javascript Highcharts仪表图表正在舍入最大值
当Javascript Highcharts仪表图表正在舍入最大值,javascript,math,highcharts,Javascript,Math,Highcharts,当max设置为非常大的数字(如666772)时,就会出现问题。Highcharts将根据tickPixelInterval设置的值取数字并向下取整 如果我将tickPixelInterval值设置为接近0,则仪表图上的最大值开始接近666772,但仍为四舍五入。我希望min从0开始(它是这样做的),然后max是精确的数字(666772),甚至是向下取整的版本(667k) 有没有办法只在仪表表上显示min和max var gaugeOptions = { chart: {
max
设置为非常大的数字(如666772)时,就会出现问题。Highcharts将根据tickPixelInterval
设置的值取数字并向下取整
如果我将tickPixelInterval
值设置为接近0,则仪表图上的最大值开始接近666772,但仍为四舍五入。我希望min
从0开始(它是这样做的),然后max
是精确的数字(666772),甚至是向下取整的版本(667k)
有没有办法只在仪表表上显示min
和max
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
// the value axis
yAxis: {
stops: [
[0.1, '#DF5353'], // green
[0.5, '#DDDF0D'], // yellow
[0.9, 'green'] // red
],
lineWidth: 0,
minorTickInterval: null,
tickPixelInterval: 400,
tickWidth: 0,
endOnTick: false,
maxPadding: 0,
title: {
y: -70
},
labels: {
y: 10,
format: '{value}'
}
},
credits: {
enabled: false
},
tooltip: {
enabled: false
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
// Quarter1
jQuery('#quarter1').highcharts(Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 666772,
title: {
text: 'Quarter 1'
}
},
series: [{
name: 'Quarter 1',
data: [50],
dataLabels: {
format: '<div style="text-align:center"><span style="font-size:25px;color:' +
((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">${y}</span><br/>' +
'<span style="font-size:12px;color:silver">Quota</span><br/><span>Bonus Elegible</span></div>'
}
}]
}));
var计量选项={
图表:{
类型:“solidgauge”
},
标题:空,
窗格:{
中心:['50%,'85%,],
大小:“140%”,
startAngle:-90,
端角:90,
背景:{
背景颜色:“#EEE”,
内半径:“60%”,
外层:“100%”,
形状:“圆弧”
}
},
//价值轴
亚克斯:{
停止:[
[0.1,#DF5353'],//绿色
[0.5,#DDDF0D'],//黄色
[0.9,'绿色']//红色
],
线宽:0,
minorTickInterval:null,
像素间隔:400,
宽度:0,
恩东蒂克:错,
maxPadding:0,
标题:{
y:-70
},
标签:{
y:10,
格式:“{value}”
}
},
学分:{
已启用:false
},
工具提示:{
已启用:false
},
打印选项:{
solidgauge:{
数据标签:{
y:5,
边框宽度:0,
useHTML:true
}
}
}
};
//四分之一
jQuery(“#quarter1”).highcharts(highcharts.merge(gaugeOptions{
亚克斯:{
分:0,,
最高:666772,
标题:{
文本:“第1季度”
}
},
系列:[{
名称:“第1季度”,
数据:[50],
数据标签:{
格式:“${y}
”+
“配额
奖金可发放”
}
}]
}));
将endOnTick:false()添加到轴。比如说
yAxis: {
min: 0,
max: 666772,
title: {
text: 'Quarter 1'
},
endOnTick:false
}
这是一个工作示例我发现了另一种方法。如果将
tickPixelInterval:400,
替换为tickAmount:2,
,则它将仅显示最小值和最大值。使用此代码显示精确量的最小值和最大值
yAxis: {
min: 0,
max: 2602,
tickPositioner: function() {
return [this.min, this.max];
}
我不确定我是否理解这个问题。从我所看到的
max
是正确的。你是说y轴上的数字标签吗?