我在该行的所有地方都有一个多个空值的系列。我需要用虚线或其他颜色(另一种颜色)表示这些值之间的差距。
非常欢迎任何帮助:) 谢谢!
答案 0 :(得分:1)
在开始之前,让我承认这是一个有趣的问题,但使用Highcharts非常容易解决。虽然这需要一些工作。
这就是我实现这个的方法:
<强> ALGO:强> 对于每个系列S,创建另一个辅助系列S'。 S的工作是填补空白。 S'可以是相同颜色的虚线。对于每个间隙,连续的空值,在S中,假设间隙从点L(x1,y1)开始并在点R(x2,y2)结束。点L和R需要在S'上。假设点L和R彼此相距m个单位,其中m> = 2。我们需要在L和R之间插入m-1个点。我们可以通过线性插值来做到这一点。我们将这些点称为P1,P2 .. Pm-1,其中Pi = {x2-x1 + i,y1 +(y2-y1)/ m}
<强>可用性:强>
如果我们假设您在原始图表中有系列T,Q,R ans S.应用上述算法后,您将再增加4个名为T',Q',R'和S'的系列。在图例中,将显示8个系列。但我们只想要4 - 原始的。您可以使用系列的'linkedTo'属性来完成此操作。因此T'将链接到T,S'将链接到S,依此类推。因此,S'的图例将不会显示,当您通过单击图例切换S时,S'将自动切换。
linkedTo:http://api.highcharts.com/highstock#plotOptions.series.linkedTo
代码位置
如算法所述,您需要阅读现有系列并插入辅助系列。您可以在load()回调函数中执行此操作,该函数在图表完成加载并且所有系列都可供访问时调用。
加载回拨:http://api.highcharts.com/highstock#chart.events.load
添加系列:http://api.highcharts.com/highstock#Chart.addSeries()
干杯!