2012-07-25 61 views
3

我正在尋找一種方法來添加一個額外的軸對,傾斜和原點位移。它們應該添加到已經用於顯示圖像的座標軸上。添加傾斜(浮動)軸以覆蓋標準軸

結果應該以某種方式接近

y   x+y 
    |\  /
    9 | + -2 + 18 
    | \ /
    | \/ 
    8 | x   
    | /\ 
    |/ \ 
    7 | + 14 \x-y 
    |/  + 2 
    +--------------------- x 
    7 8 9    

(可惜我沒有被允許上傳的是我創建的實際圖像)

傾斜軸的中心應該在一定的本地化座標(x0,y0),在我的情況下(8,8),我希望能夠像普通座標軸一樣處理新座標軸,即使用set_xlabel,grid等函數。

我試圖使用Affine2D變換,浮動軸和棘刺獲得結果,但無法獲得關於此問題的正確處理。任何幫助是非常受歡迎的。

圖像的不重要的部分是提前使用

import numpy as np 
import matplotlib.pyplot as plt 

X = Y = np.linspace(7, 9, 100) 
XX, YY = np.meshgrid(X,Y) 
Z = np.exp(-(XX-XX.mean())**2/1 - (YY-YY.mean())**2/5) 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.imshow(Z, origin='lower', extent=[X.min(), X.max(), Y.min(), Y.max()]) 
ax.set_xlabel("x") 
ax.set_ylabel("y") 
ax.grid(True, color='white') 

謝謝完成。

回答

0

這是matplotlib的一個難題,與我過去的類似。我知道,在大量旋轉時間的情況下,我相信可以使用浮動軸進行要求。

我曾經在matplotlib devel郵件列表http://old.nabble.com/Drawing-arbitrary-Axis-on-a-plot-p33625041.html上打開了一個討論,但遺憾的是沒有人有任何答案。

我會嘗試製作一個浮動軸的工作示例,但不知道我會如何成功......

+0

非常感謝。那樣會很親切。事實上,稍後我偶然發現了一個包[pywcsgrid2](http://leejjoon.github.com/pywcsgrid2/users/overview.html#floating-axis),它顯然成功地處理了天文圖像的浮動軸。不幸的是,這個軟件包似乎是爲處理某些天體物理學數據而量身定做的,這需要一些額外的「魔術」來實例化一個軸。 – user1551632 2012-07-26 08:01:39

+0

似乎您所指的庫是在mpl AxisArtist實現中使用浮動軸藝術家。這個限制是你必須指定一個固定的數據值來跟隨軸(或者看起來好像)。 – pelson 2012-07-26 08:07:32