2013-09-27 33 views
0

我使用Flotr2取得了巨大成功。現在我們用時間模式實現它。這就像一個魅力。但現在客戶想只顯示四分之三(即20013-1,2013-2)。Flotr2時間模式

現在Flotr2,自動縮放數據來適合圖形。但是因爲沒有四分之一是相同的大小,所以失敗。

所以我的問題是,是否有可能加入宿舍Flotr2(在x軸)。如果是這樣,有沒有一個例子在宇宙中我沒有找到的地方?

回答

1

最好的解決方案是與記號格式化器使用x軸蜱選項的組合:

xaxis: { 
    ticks : [], 
    tickFormatter: function() {} 
} 

寫一個函數返回季度的數組開始日期,或中位數等,爲你的範圍。他們應該在毫秒。

格式化程序然後可以輸出您正在尋找的日期格式,如上所述。

0

那麼它是不是100%滿意,但它「作品」

對於線圖我刪除了時間模式,並加入noTicks: 12這是可以改變的,但是由於時間的本質(大多個月)不存在相同的尺寸這成爲很需要,所以xaxis標籤工作正常。

接下來我添加了一個tickFormatter於x軸

X軸設置:

xaxis:{ 
    noTicks: 15, 
    tickFormatter: function (x) { 
     var d = new Date(parseInt(x)); 
     var month = d.getMonth(); 
     if (parseInt(month/3) == month/3) { 
      return msToYearQuarter(parseInt(x)); 
     } 
     return ''; 
    } 
}, 

要轉換毫秒到「年 - 季度」我做了一個簡單的函數

function msToYearQuarter(ms) { 
    var date = new Date(ms); 

    var quarter = (date.getMonth()/3) + 1; 
    var year = date.getFullYear(); 

    return year + '-' + quarter; 
}