我想在matplotlib中旋转一个Rectangle,但是当我应用转换时,该矩形不再显示:
rect = mpl.patches.Rectangle((0.0120,0),0.1,1000) t = mpl.transforms.Affine2D().rotate_deg(45) rect.set_transform(t)
这是一个已知的错误还是我做错了?
显然,面片上的变换是用于处理缩放和边界框的几种变换的组合。将变换添加到现有的绘图变换中似乎可以提供更多您所期望的东西。虽然看起来还有一些补偿需要解决。
import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as patches import matplotlib as mpl fig = plt.figure() ax = fig.add_subplot(111) rect = patches.Rectangle((0.0120,0),0.1,1000) t_start = ax.transData t = mpl.transforms.Affine2D().rotate_deg(-45) t_end = t_start + t rect.set_transform(t_end) print repr(t_start) print repr(t_end) ax.add_patch(rect) plt.show()