Python 如何在matplotlib中将轴的方向更改为元组给定的方向

Python 如何在matplotlib中将轴的方向更改为元组给定的方向,python,matplotlib,plot,Python,Matplotlib,Plot,例如,下图中直方图的方向为(2,-2) 使用。由于您没有提供任何用于绘制未旋转图片的代码,因此我使用了一个简单的示例: import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import numpy n = numpy.random.normal(size=10000) fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.set_aspect(1) a

例如,下图中直方图的方向为(2,-2)
使用。由于您没有提供任何用于绘制未旋转图片的代码,因此我使用了一个简单的示例:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy

n = numpy.random.normal(size=10000)

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.set_aspect(1)
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)

base_trans = ax.transData
tr = matplotlib.transforms.Affine2D().rotate_deg(-30) + base_trans

ax.hist(n, normed=True, transform=tr, bins=20)

fig.savefig('t.png')

注:

  • 我不知道你所说的“元组给出的方向”是什么意思。在您的图片中,轴显然不仅是旋转的,而且也是移动的(0,0)点不在x轴上)。我在这个例子中只使用了旋转;有关更多转换属性,请参见

  • 为了使图形看起来不歪斜,必须匹配绘图的纵横比、x/y限制和变换的缩放系数。在这个例子中,我对x轴和y轴使用了纵横比1和相同的比例,因此我可以只使用
    rotate_deg()
    方法,而不需要任何额外的校正


寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。@MattDMo我给出了一个显示我想要的行为的图像。Tuple,我的意思是一个指定方向的向量,使用角度也可以。