2013-05-10 76 views

回答

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 +(Y 2 -Y 1)/ M}

可用性: 如果讓我們說你有T系列,Q,R和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()

乾杯!

+0

是的,這就是我的想法......只是很多我希望不會做的體操。我相信空值顯示管理應該包含在Highscharts中,你不覺得!? – MastaP 2013-05-13 14:58:22

+0

是的,我認爲這將是一個很好的功能要求。看起來這個功能請求已經由某人發出: http://highcharts.uservoice.com/forums/55896-general/suggestions/1010275-add-broken-line-segments-for-null-values – 2013-05-13 16:19:23

+0

我剛跑進入這個評論,它節省了我的一天。這裏[JSFiddle上的演示](http://jsfiddle.net/AkyRhO/7aqhx8ac/) – AkyRhO 2017-03-02 11:22:27