我想在多轴图中按字母顺序标记我的图。使用 ax.text 和手动坐标,我可以在单个图形上实现这一点:
ax.text(0.01, 0.96,
'A', transform=ax.transAxes, fontweight='bold', va='top', ha='left',
backgroundcolor='k', color='white')
我希望黑框与左上角完全匹配。将上面的代码应用到另一个图形上不起作用:
有没有办法让文本背景的黑框与轴角完全匹配?
最佳答案
我找到了一种一致的方法,无论图形大小或轴的排列如何,都可以正常工作。对于作为 AxesSubplot
对象的 ax
使用:
ax.annotate(
'A',
(0, 1),
xytext=(4, -4),
xycoords='axes fraction',
textcoords='offset points',
fontweight='bold',
color='white',
backgroundcolor='k',
ha='left', va='top')
请注意,我的“全局”matplotlib 字体大小设置为 8。如果您使用其他字体大小,您可能必须更改 xytext
值。
关于python - 将带有背景的文本精确定位在 matplotlib 图的一角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49894386/