2013-03-04 48 views
3

我有一個問題,我已經能夠在JFiddle上覆制。鏈接:http://jsfiddle.net/h5sSR/xDateFormat字符串不適用於大量數據

$(function() { 
var chart = new Highcharts.StockChart({ 

    chart: { 
     renderTo: 'container' 
    }, 

    tooltip: { 
     backgroundColor: { 
      linearGradient: { 
       x1: 0, 
       y1: 0, 
       x2: 0, 
       y2: 1 
      }, 
      stops: [ 
       [0, 'white'], 
       [1, '#EEE'] 
      ] 
     }, 
     xDateFormat: '%m/%e/%y %H:%M', 
     borderColor: 'gray', 
     borderWidth: 1 
    }, 

    rangeSelector: { 
     selected: 1 
    }, 

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

的問題:我需要xDateFormat屬性在任何時候都(個月 / /年小時分鐘)下的工具提示使用。當您選擇少量數據時,它可以很好地工作。當您選擇大量數據查看時,它使用不同的格式。

示例:試試JFiddle(上面的鏈接)。它初始化爲少量可見的數據,當你懸停時,你會看到Date如下:12/3/12 0:0。那很完美。現在將導航器拖到開頭並懸停在圖形上,DateFormat更改爲(從周的星期,個月日,)。

如何解決:爲什麼會發生這種情況,並且無論顯示多少數據,我如何始終應用xDateFormat屬性?

回答

3

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

工具提示中報頭中的日期的格式。如果使用數據分組,默認情況下是根據最近點的接近程度進行的智能猜測。它從#plotOptions.dataGrouping.dateTimeLabelFormats數組中拉出。

所以在這裏你可以找到,應該改變什麼:http://api.highcharts.com/highstock#plotOptions.series.dataGrouping.dateTimeLabelFormats - 適用於所有形式相同的格式,並將工作正常。

+0

完美!那樣做了。 – 2013-03-05 16:54:49

+0

我有同樣的問題,並改變了指定的dateTimeLabelFormats數組,但這會導致在1M視圖(第一個範圍選擇器)中出現渲染問題。有任何想法嗎? – kgdinesh 2014-08-18 08:52:10

+0

沒有想法,因爲你沒有描述的問題:)在jsFiddle重新創建問題,我會檢查這一點。 – 2014-08-18 13:57:47

0

這是新的代碼,解決了這個(後帕維爾畢淑敏掛我的解決方案):

plotOptions : { 
        series : { 
         dataGrouping : { 
          dateTimeLabelFormats : { 
           millisecond: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           second: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           minute: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           hour: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           day: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           week: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           month: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'], 
           year: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'] 
          } 
         } 
        } 
       }, 

這將「讓「呃完成」。這裏是更新的JFiddle鏈接:http://jsfiddle.net/h5sSR/1/

相關問題