Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在chart.js中绘制没有间隙的线性图表_Javascript_Charts_Chart.js_Chart.js2 - Fatal编程技术网

Javascript 在chart.js中绘制没有间隙的线性图表

Javascript 在chart.js中绘制没有间隙的线性图表,javascript,charts,chart.js,chart.js2,Javascript,Charts,Chart.js,Chart.js2,我想画一张货币汇率的线性图表。有时市场上没有价格(节假日)。我想从图表中删除这些天,但在有利率的日子之间没有难看的差距或直线 您可以在此图表上看到一个示例: 5月3日没有数据,图表被链接,缺少的日期从图例中删除 如何使用Chart.js获得这样的效果?我找到了一个解决方法。它需要一些黑客攻击,但它是有效的: 1) 首先,修改数据集。迭代所有的点并改变x值,使它们对应于图表上的新位置。将原始x值保存在某些属性中以备将来使用(在工具提示中) 2) 现在你可以在图表上画出数据,它们看起来很正常。问题

我想画一张货币汇率的线性图表。有时市场上没有价格(节假日)。我想从图表中删除这些天,但在有利率的日子之间没有难看的差距或直线

您可以在此图表上看到一个示例:

5月3日没有数据,图表被链接,缺少的日期从图例中删除


如何使用Chart.js获得这样的效果?

我找到了一个解决方法。它需要一些黑客攻击,但它是有效的:

1) 首先,修改数据集。迭代所有的点并改变x值,使它们对应于图表上的新位置。将原始x值保存在某些属性中以备将来使用(在工具提示中)

2) 现在你可以在图表上画出数据,它们看起来很正常。问题在于工具提示和记号

如何处理滴答声:

勾号是一组变异数字(它们与原始值不对应)。你有一个黑客。在
afterBuildTicks
方法中,使用具有原始对应x值的对象数组(而不是普通数字)临时覆盖chartController.ticks。对于每个刻度,必须近似原始x值。 这样,您就可以在ticks回调中使用此信息来返回正确的ticks标签。 有了这些变异的数据,图表就无法绘制了。你必须把它恢复到变异前的状态。在方法
afterTickToLabelConversion
中,恢复刻度。请记住,现在它们存储在属性
ticksambers


类似的破解应该通过工具提示回调来完成。您可以访问数据集和utated x值。突变x的近似原始x值就是这样。

您可以使用spanGap属性。从:

如果[spanGaps设置为]true,则将在点之间绘制直线 没有或空数据。如果为false,则具有NaN数据的点将创建一个 插队


这可能是重复的:@DonnyBridgen这个问题实际上是在问与之相关的问题相反的问题。这个问题是问如何创造差距。这个问题是问如何避免漏洞。@ArturOwczarek您是否有一个JSFIDLE和您当前使用的代码可以共享?