matplotlib如何在子图中正确绘制文本[重复]

Posted

技术标签:

【中文标题】matplotlib如何在子图中正确绘制文本[重复]【英文标题】:matplotlib how to correctly plot text in subplot [duplicate] 【发布时间】:2018-01-04 05:34:29 【问题描述】:

这张图片是使用:

subplot(1,2,1)
hist(...)
subplot(1,2,2)
text(...)

但我不想要第二个情节的边框,我想要情节左上角的文字。我怎样才能做到?

【问题讨论】:

【参考方案1】:

试试这个:

subplot(1,2,1)
hist(...)
ax2 = subplot(1,2,2)
ax2.set_xticks([])
ax2.set_yticks([])
for spine in ax2.spines.values():
    spine.set_visible(False)
ax2.invert_yaxis()
ax2.text(..., verticalalignment="top")

更新:

正如 cmets 中指出的,您也可以这样做:

subplot(1,2,1)
hist(...)
ax2 = subplot(1,2,2)
ax2.axis("off")
ax2.invert_yaxis()
ax2.text(..., verticalalignment="top")

虽然这也会删除默认轴背景(取决于您的设置和 Matplotlib 版本,这可能会给您留下灰色背景)。

【讨论】:

谢谢,这太完美了。 为此,您可以在第二个图上使用plt.axis('off') 是的,我检查了 Axes API,并将其替换为 ax2.set_axis_off() 你为什么invert_yaxis() @tom 因此,根据 OP 的要求,文本将出现在绘图的上部(似乎原点或靠近它的点被用作文本的坐标) .

以上是关于matplotlib如何在子图中正确绘制文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib - 在错误的子图中绘制的变量[重复]

在子图 Matplotlib 中按列表添加图例

如何在子图中绘制多个 Seaborn 联合图

Matplotlib 在一张图中绘制多个条形图

Matplotlib 在一张图中绘制多个条形图

如何在 Matplotlib 的子图中独立绘制相同的图形? [复制]