添加倾斜(浮动)轴以与标准轴重叠

时间:2012-07-25 13:43:05

标签: python matplotlib axes

我正在寻找一种方法来添加一个额外的轴对,包括倾斜和原点位移。它们应添加到已用于显示图像的轴上。

结果看起来应该接近

    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')

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是matplotlib的一个难题,与我过去的类似。我知道,如果有大量的旋转时间,我相信可以使用浮动轴做你想要的事情。

我曾经在matplotlib devel mailinglist http://old.nabble.com/Drawing-arbitrary-Axis-on-a-plot-p33625041.html上开始讨论这个问题,但遗憾的是没有人有任何答案。

我会尝试制作浮动轴的工作示例,但不知道我会有多成功......