2009-12-29 32 views
1

我找繪製能夠使用的具有不同比例超過一個或兩個垂直軸,例如像工具:要使用哪種多軸多尺度繪圖工具?

alt text http://www.mathworks.com/matlabcentral/fx_files/9016/1/addaxis_screenshot.jpg

的目標是繪製具有不同範圍的幾個時間序列在同一地塊。例如,我可以有:

  • 與範圍的時間序列1 [-1,1]
  • 時間序列2範圍[-10,+ 10]
  • 時間與範圍[0系列3, 1500]
  • 時間序列4與範圍[0.5,0.9]

在理想情況下,我可以繪製在其自己的軸上的每個時間序列與它自己的範圍內,如圖所示在圖像中。

你知道哪些工具或庫可以做到這一點?

注意:這個問題與this one有關,但我正在尋找比Matlab更多的可能性。

+1

我知道matlab(addaxis),matplotlib和ZedGraph,但我沒有提到R.這就是爲什麼接受的答案在那裏。 我也建議使用JFreeChart for Java。 雖然它看起來並不像有很多選擇。 – 2009-12-31 08:31:08

回答

3

您可以在R中做到這一點。一個例子見this R-wiki page

使用doubleYScale函數也可以非常容易,如in these examples

+2

維基鏈接被破壞,我想我已經指出它在正確的頁面 – 2010-02-28 21:06:27

3

根據GNU圖,你可以在每個圖表的GNU圖上有upto 2 axii

+1

2軸是不夠的...數據的範圍通常是非常不同的,我不能將它們分組在同一個軸上。 – 2009-12-29 08:35:44

+1

我的理解是,我只是說可能有一個以上但不超過兩個(除非有辦法手動繪製一個我不知道的) – monksy 2009-12-29 08:38:21

2

matlab能做到這一點

+1

是的,您可以使用來自Matlab File Exchange的addaxis組件,但我正在尋找更多的選擇。 – 2009-12-29 08:36:50

3

敢肯定你能做到這一點在matplotlib

做不到這一點有很多的維基百科頁面上的鏈接其他繪圖庫。

2

不確定這是你想要的,但ZedGraph支持多軸。它是一個.net組件,所以你必須編寫一些代碼才能獲取數據,但它很容易使用。

0

MathGL可以與多個軸上繪製(參見this sample)。它是GPL(LGPL for core)庫。

+0

感謝您的指針,但我更多地尋找兩個以上的軸,分組在圖的左側或右側。例如,左邊三個軸和右邊兩個軸,每個軸都有自己的範圍和比例。 – 2011-06-08 08:35:02

+0

實際上,MathGL也可以繪製多個軸。看到這個[示例](http://mathgl.sourceforge.net/mathgl_en/mathgl_en_96.html#g_t2_002daxes-sample)或者只是執行這個MGL腳本(通過UDAV或mgl2png,mglview等等) axis#first axis xlabel'x'0 -1:ylabel'y_1'0.2 -1 yrange -2 2:origin -1.3 0#draw other axis axis'y':ylabel'\ colorr {y_2}'0.2 -1 – abalakin 2011-06-08 10:29:35

+0

Ie ,@PabloRodriguez,你可以改變軸原點(x位置)。在此軸原點可能超出軸範圍。 – abalakin 2011-06-08 10:34:34