将文本背景恰好放在matplotlib图的角落

时间:2018-04-18 08:06:41

标签: python matplotlib plot

我想在多轴情节中按字母顺序标记我的情节。使用ax.text和手动坐标,我可以在一个数字上实现这一点:

ax.text(0.01, 0.96, 
    'A', transform=ax.transAxes, fontweight='bold', va='top', ha='left',
    backgroundcolor='k', color='white')

Working example

我希望黑匣子与左上角完全匹配。将上述代码应用于另一个数字不起作用:

Not working example

有没有办法让文字背景的黑框与轴角完全匹配?

1 个答案:

答案 0 :(得分:1)

无论图形大小或轴的排列如何,我都找到了一种可行的方法。对于ax AxesSubplot对象,请使用:

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 fontsize设置为8.如果使用其他fontsize,则可能需要更改xytext值。