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

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

提前感谢您。

1个回答

0

这是一个与 matplotlib 有关的困难问题,类似于我曾经遇到过的问题。我知道,通过一定数量的启动时间,我相信可以使用浮动轴来完成您的要求。

我曾经在 matplotlib 开发邮件列表上开启了有关此事的讨论http://old.nabble.com/Drawing-arbitrary-Axis-on-a-plot-p33625041.html,但可惜没有人提供答案。

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


非常感谢。那真是太好了。事实上,稍后我偶然发现了pywcsgrid2这个包,它似乎成功地处理了天文图像中的浮动轴。不幸的是,这个包似乎是为处理某些天体物理数据而量身定制的,因此需要一些额外的“魔法”来实例化一个轴。 - user1551632
似乎你所提及的库正在使用mpl AxisArtist实现中的浮动轴艺术家。其限制在于您必须为轴指定一个常量数据值以便跟随(或者看起来是这样)。 - pelson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接