Matplotlib 变换方法如何变形放置我的文本?

Matplotlib 变换方法如何变形放置我的文本?,matplotlib,transform,Matplotlib,Transform,我在理解Matplotlib绘图中文本位置的不同转换时遇到问题。存在三种预定义的转换: ax.transData,ax.transAxes,fig.transFigure 当我有以下代码时: fig, ax = plt.subplots(facecolor='lightgray') ax.axis([0, 10, 0, 10]) ax.text(1, 5, ". Data: (1, 5)", transform=ax.transData) ax.text(0.2, 0.2, ". Figure:

我在理解Matplotlib绘图中文本位置的不同转换时遇到问题。存在三种预定义的转换:

ax.transData
ax.transAxes
fig.transFigure

当我有以下代码时:

fig, ax = plt.subplots(facecolor='lightgray')
ax.axis([0, 10, 0, 10])
ax.text(1, 5, ". Data: (1, 5)", transform=ax.transData)
ax.text(0.2, 0.2, ". Figure: (0.2, 0.2)", transform=fig.transFigure)
我不懂第四行。第一个问题:我的情节中的figsize是什么

我检查了plt.figure的docstring,它显示默认的figsize是6.4(以英寸为单位的宽度)和4.8(以英寸为单位的高度)。但是当我使用
fig.get\u figwidth
fig.get\u fighight
时,我看到宽度是6.0,宽度是4.0。为什么? 假设figsize为(6,4): 文本应显示在figsize(x坐标)的20%和figsize(y坐标)的20%处。 对吗

我检查了plt.figure的docstring,它说默认的figsize是6.4(以英寸为单位的宽度)和4.8(以英寸为单位的高度)

事实上,您可以检查,它在哪里显示
[6.4,4.8]

但是当我使用fig.get_figwidth和fig.get_Fighight时,我看到宽度是6.0和4.0。为什么?

因为您、您使用的解释器或您加载的另一个库更改了这些设置

假设figsize为(6,4):文本应显示在figsize(x坐标)的20%和figsize(y坐标)的20%处。对吗

是的,没错。坐标从图形的左下角开始


您阅读了吗?默认地物尺寸由提供,您可以通过运行
print(matplotlib.rcParams['figure.figsize'])检查您的默认值。
感谢@ImportanceOfBeingErnest提供了这一出色的可视化效果!