2016-03-02 38 views
2

https://jsfiddle.net/zv6ymqpL/3/Highstock共享工具提示多個系列 - 顯示數據線不是點

series: [{ 
    type: 'column', 
    name: 'Columns', 
    data: data 
}, { 
    type: 'line', 
    name: 'Lines', 
    data: line, 
    step: true 
}] 

當懸停圖表的工具提示將顯示兩個系列或只是列,這是因爲列系列具有更高的分辨率超過當(1小時)相比(2小時)。

我正在使用的圖表有一系列步驟已啓用,我希望懸停在數據點上的工具提示包含當前步驟值(因爲它與最後一點相同的值直到下一個點) 。

這是可能的Highstock辦?

回答

1

您需要使用格式化來計算擴展一步的值,以佔較低的分辨率。

文檔:http://api.highcharts.com/highstock#tooltip.formatter

實施例:

$(function() { 
$('#container').highcharts('StockChart', { 

    tooltip: { 
     formatter: function() { 
      var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>'; 

      $.each(this.points, function() { 
       s += '<br/>1 USD = ' + this.y + ' EUR'; 
      }); 

      return s; 
     } 
    }, 

    rangeSelector: { 
     selected: 1 
    }, 

    series: [{ 
     name: 'USD to EUR', 
     data: usdeur 
    }] 
}); 

});

P.S. - 如果我能看到一個示例數據集(在JSON中),我可以計算出這個數據集。

+0

的的jsfiddle具有隨機生成的數據集,類似於我使用的一個。具有5分鐘分辨率的柱系列,然後是具有1小時分辨率的線系列。 –

+0

基於一個簡單的一維數組對象,我想出了這個循環,讓你開始:'格式:函數(){ 變種S; 。每個$(this.points,函數(){ S = this.series.data.indexOf(this.point)+ this.series.data.indexOf(this.point -1)+ this.series.data。 indexOf(this.point - 2); }); return s; } },' –

相關問題