我现在有这个:
我需要绘制这个函数的图形:
-3.6 * Math.exp(-3.5 * Math.pow(x, 2)) * Math.sign(Math.cos(31 * x - 7));
我决定使用HighchartJS。它没有问题,但我不确定,近似函数是否正确(highchartJS会这样做)。
您可以找到我的结果here, on jsFiddle。
你可以看到,图表的值是"跳跃"有一些幅度,highchartJS近似它,我正在得到连续的线。实际上,我的功能图与此结果不同。例如,您可以看到here。
另外,您可以在下面的图片中看到结果:
线路正在中断。问题是如何用highchartJS获得相同的结果(或者我应该使用另一个库?)?
如果图表未在Chrome上运行,请尝试this,
答案 0 :(得分:1)
首先,你使用Math.sign
方法,这不是官方标准的一部分(只是草案)。只需添加您的方法以获取chrome中的工作示例:
Math.sign = function(x){
if( +x === x ) {
return (x === 0) ? x : (x > 0) ? 1 : -1;
}
return NaN;
}
现在,问题是Highcharts用线连接所有点。在您的情况下,更好的解决方案是使用scatter
类型 - 因为您有足够的点来显示预期结果:http://jsfiddle.net/q2kSf/22/
$('#container').highcharts({
series: [{
type: 'scatter',
name: 'Values',
data: data,
marker: {
radius: 2
}
}]
});