我有一张(Highcharts)图表,其中包含一段时间内的百分比。我的系列的输入类似于:
series: [{
name: "Percentage",
data: [
[1472515200000, 49],
[1472601600000, 48.83],
[1472688000000, 49.6],
[1472774400000, 48.77]
]
}]
然而,在实际图表(areaspline)上,我得到了不同的值:
不完全确定为什么会出现这种情况,我假设是因为图表具有日期时间类型,并且它会计算出一段时间内的平均值。有没有办法可以在输入时使值准确无误?在文档中找不到任何内容
感谢您的任何想法/帮助/建议。
经过进一步研究,似乎不是一个Highcharts问题,而是一个React问题。我似乎在每个渲染上得到不同的值。将进一步研究并更新好奇。
问题似乎与React重新渲染有关,因此重新计算我的百分比值 - 而不是Highcharts问题。感谢所有评论的人,有点疯狂的追逐。
答案 0 :(得分:0)
Jamie,要按字面意思输入输入值,您需要保留x轴未设置的type
值或将其更改为type: 'literal'
。
这是我用您的数据创建的基本小提琴,用于说明如何将其完全解释为输入(与转换为日期相比):http://jsfiddle.net/brightmatrix/vtLswcex/1/
$(function () {
Highcharts.setOptions({
lang: {
thousandsSep: ',' // adds comma for axis labels
}
});
Highcharts.chart('container', {
xAxis: {
labels: {
formatter: function() {
return Highcharts.numberFormat(this.value,0);
}
}
},
series: [{
name: "Percentage",
data: [
[1472515200000, 49],
[1472601600000, 48.83],
[1472688000000, 49.6],
[1472774400000, 48.77]
]
}]
});
});
请注意,我已添加了x轴标签的格式,以及Highcharts.setOptions()
功能中的千位分隔符,因此您的标签可以更容易读取为数万亿。
这有助于回答您的问题吗?如果您正在寻找更好的格式化特定时间数据的方法,那么@morganfree的评论非常值得深入研究。