2010-10-06 64 views
4

如何獲得Flot圖形軸上的非數值?jQuery Flot圖形的基於字符串的軸?

例如,在Y軸我想有(藉口蹩腳圖表):

/* 
    A| 
    B|   _/*----------* 
    C|  _/    \ 
    D|  _/     \ 
    E| _/     \ 
    F| /      \ 
    G| *       * 
     -------------------------------- 
     100  200  300 400 

數據I將提供將看起來像這樣: VAR數據= [[100,' G'],[200,'B'],[300,'B'],[400,'G']];

回答

4

您可以輸入函數tickFormatter來標記軸。假設G = 0A = 6

var data = [[100, 0], [200, 5], [300, 5], [400, 0]]; 

$.plot($("#placeholder"), [data], { 
    yaxis: { tickFormatter: function (v, axis) { 
     return "GFEDCBA".charAt(v); 
     } 
    } 
});

Flot example

charAt該功能簡單地取y軸的值(0,5,5,0),從對應於該位置的字符串返回信。

+0

太棒了!非常感謝! – Bill 2010-10-08 17:22:36

+0

沒問題。一定要接受答案:) – Alec 2010-10-08 18:23:24

6

你也可以用一個刻度值文本關聯,像這樣:關於做

ticks: [[0, "G"], [1, "F"], [2, "E"], [3, "D"]], // so on 

的好處這種方式是你可以從你的AJAX調用運行時間完全控制它(假設你傳下使用JSON進行軸配置),而當前發佈的解決方案需要硬編碼功能。