我在matplotlib子图中定位一个简单的文本字段,现在已经挣扎了将近一整天。我的目标是在子图的左上角放置一个单字母的文本字段(例如," A")。但是,它应该在情节之外。
我知道我可以通过例如手动指定值来相对于轴定位它。然而,我的目标是自动化这个过程,因为我必须处理大量数据。
我的想法是使用ylabel的x坐标和标题的y坐标 - 然而,并没有太大的成功。
举个例子:
我想添加" A"确切地说" ylabel"和#34;标题"想象中的十字架。
答案 0 :(得分:0)
现在想做同样的事情,但在文档中或在谷歌搜索后找不到任何有用的东西,所以最终在matplotlib目录下的ight_layout.py中查看了tight_layout的代码。您要查找的功能是 axes.get_tightbbox 。这是您想做什么的方法:
from matplotlib import pyplot as plt
from matplotlib.transforms import TransformedBbox
fig = plt.gcf()
ax = fig.gca()
renderer = fig.canvas.get_renderer()
# Get the bounding box in pixel coordinates
bb = ax.get_tightbbox(renderer)
# Transform the bbox to figure coordinates
bb = TransformedBbox(bb, fig.transFigure.inverted())
# Write text at the top left corner using figure coordinates.
plt.text(bb.x0, bb.y1, "HELLO", transform=fig.transFigure, verticalalignment="top", horizontalalignment="left")