我的误解是什么?
我知道有些地方出了问题,不仅是因为错位,还因为当我使用ax.set_ylabel('x\ny\nz')
时,x
没有改变:x
始终等于0.5125
aka 41/80。
import matplotlib.pyplot as plt
fig, ax = plt.subplots(layout='constrained')
ax.set_ylim((0, 10))
ax.set_ylabel('y')
ad = ax.transAxes.transform # axes => display
df = fig.transFigure.inverted().transform # display => figure
x = df(ad((0.5, 1)))[0]
print(x)
ax.set_title('A')
fig.suptitle('A', x=x)
plt.show()
1条答案
按热度按时间vojdkbi01#
set_ylabel
调整相对于图形的轴位置,但仅在第一次绘制之后。如果在计算变换之前强制绘制,则所有内容都将被检出。