我正在寻找一种方法来添加一个额外的轴对,包括倾斜和原点位移。它们应添加到已用于显示图像的轴上。
结果看起来应该接近
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 :(得分:0)
这是matplotlib的一个难题,与我过去的类似。我知道,如果有大量的旋转时间,我相信可以使用浮动轴做你想要的事情。
我曾经在matplotlib devel mailinglist http://old.nabble.com/Drawing-arbitrary-Axis-on-a-plot-p33625041.html上开始讨论这个问题,但遗憾的是没有人有任何答案。
我会尝试制作浮动轴的工作示例,但不知道我会有多成功......