作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作正弦曲线图和余弦曲线图。有这样推送的数据:
data: (function exp() {
var data1 = [],
//i = 0,
x = 0,
y = 0;
for (i = -10; i <= 10; i = i + 0.1) {
//x = i.toFixed(4);
x = i;
y = Math.sin(i);
data1.push({
//x: Math.round(i * 10000)/10000,
x: x,
y: y,
});
if ((y.toFixed(4) == 0) || (y.toFixed(4) == -0)) {
//var x = Math.sin(Math.round(i * 10000)/10000);
//var y = Math.round(Math.sin(i) * 10000)/10000;
addtext(x, y);
}
}
return data1;
})()
},
所以应该有x个值:-10; -9.9; -9.8,-9.7 等等......但是如果你看图(http://jsfiddle.net/K5Zhr/4/),有x值:-10; -9.9; -9.8,然后是 -9.700000000000001,所有接下来的 x 值都以同样的方式搞砸了。
我曾尝试使用方法 .toFixed 和 .toPrecision,但它们(例如)使 point[0, sin(0)] 成为类似于 [ -0.0000, -0.0000],当然是坏的,因为它需要 x 值 -0.000000000000187...谁能帮我推送小数点后一位的数据?
最佳答案
您不应该尝试调整输入 x 值,that's just how computers store numbers .
要在工具提示中显示四舍五入或底数,您需要删除 footerFormat
、headerFormat
和 pointFormat
并完成使用 formatter 控制工具提示选项。像这样:
formatter: function() {
var s = '<b>'+ Highcharts.numberFormat(this.x,1) +'</b>';
$.each(this.points, function(i, point) {
s += '<br/>'+ point.series.name +': '+
Highcharts.numberFormat(this.point.y,4);
});
return s;
}
应该得到你想要你需要的。 fiddle here .
关于javascript - 如何将数据插入只有一位小数的highchart?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256503/
我是一名优秀的程序员,十分优秀!