2015-07-01 42 views
0

我有2個時間序列,我想「分享」工具提示。但是,我有一個問題,只有每個系列的第一個點對齊並共享工具提示。其餘點略有偏差,因此無法同時顯示在工具提示中。Highcharts - 對齊dateTime系列共享工具提示

這個小提琴將幫助演示問題。 Fiddle

如果您將鼠標懸停在第一個點上,則工具提示會顯示兩個系列的條目。但是下一個數據點只在工具提示中顯示一個條目。

請問您的建議嗎?爲了分享這個工具提示,我錯過了「對齊」這兩個系列?顯然這是不夠的,只需添加

tooltip: { 
     shared: true, 
} 

謝謝。

+1

通常,共享工具提示應該有完全相同的日期(x值)來應用。我會說,這可能是第一點的錯誤,因爲它認爲點是相同的。無論如何,我會使用不同的解決方案:禁用'shared'選項並在'tooltip中。格式化程序「找到相應的點。 [這裏](http://stackoverflow.com/questions/21613116/highcharts-tooltip-formatting-for-shared-tooltips)你可以找到幾個建議來創建這樣的工具提示。 –

+0

@Pawel Fus。謝謝你的指針。現在將檢查出來。 – Johnny

+1

這些觀點並不是「輕微錯位」 - 它們是在兩個不同的軸上的兩個完全不同的日期:)如果目標是在整個一天的過程中比較兩個不同的日期(它似乎可能來自小提琴),我會做不同的處理 - 將每個系列的日期設置爲相同,並使用格式化程序顯示每個系列的正確日期。這樣可以避免雙軸,這必然會造成混淆。然後,如果您確定每個系列的時間匹配,共享的工具提示將按照預期的方式工作。 – jlbriggs

回答

1

假設最終目標是根據一天的時間比較兩個不同的日期,並且假設數據點是有規律的間隔,或者足夠接近並且可以被模糊(即每小時1點或每個點10分鐘等),我會採取不同的方式:

1)使用單一日期。它可以是今天的日期,也可以是任何其他日期,因爲一天中的時間是日期字符串的重要部分,所以無關緊要。

2)使用pointStartpointInterval屬性來設置適當的定時(基於人工日期,但正確的時間間隔)

3)設定各數據序列的實際日期作爲系列名稱,這將顯示在圖例和共享工具提示中,以正確顯示每個數據集的日期。

4)使用在X軸標籤的格式選項,僅顯示標籤的時間部分,而不是日期

這樣你刪除了第二x軸的需要,刪除工具提示任何併發症格式化,不需要使用更復雜的數據結構,如評論(「{」y「:0.87,」realDateTime「:'25/12/2015 03:00'}」),並且只需要通過適當的日期到每個系列的名稱屬性。

//use the current date as the base - the date doesn't matter, just the time 
var d    = new Date(); 
var date   = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0,0,0); 
var pointStart = date.getTime(); 
var pointInterval = 3600 * 1000 // 1 hour 

series: [{ 
    name : 'Apr 17, 2015', 
    data : [2,5,8,9,8,7,4,5,6,9,8,7,8,9,8,7,8,5,3,2,1,4,4,5] 
},{ 
    name : 'Jun 12, 2015', 
    data : [3,6,9,5,4,7,8,5,2,1,4,5,9,8,7,5,6,9,8,7,4,5,6,3] 
}] 

例子:

[,當然,你可以用許多不同的日期,根據需要(儘管這顯然很多無厘頭做到這一點):

]]

+0

是的,謝謝。這更有意義。 – Johnny

+0

哦。只是剛剛注意到第二個小提琴。是的,有太多的系列,但我可能有5個左右的系列,這將是一個很好的方式來顯示它們。我很尷尬地說,我沒有探索'面積'圖表。對於一個問題,我認爲我有'過度思考',我從你的解決方案中學到了很多東西。再次感謝你。 – Johnny

+1

區域只對某些場景有意義。我會猶豫是否超越三個或更多系列,但如果你想顯示一個或兩個日期反對任何系列的歷史比較基礎(例如:http:// jsfiddle .net/jlbriggs/b3t7ueam/14 /)。樂於幫助。 – jlbriggs

相關問題