Matplotlib:用A,B,C注释图中的子图

fab*_*bee 11 python annotations matplotlib

在向科学期刊提交论文时,经常需要用A,B,......来枚举图形的不同子图.

在此输入图像描述

这听起来像是一个非常常见的问题,我试图用matplotlib自动找到一种优雅的方法,但我很惊讶地发现它没有任何内容.但也许我没有使用正确的搜索词.理想情况下,我正在寻找一种方法来注释,如果图形被调整大小或子图通过,或类似移动fig.subplots_adjust,字母相对于子图保持在原位fig.tight_layout.

任何帮助或解决方案将不胜感激

Rut*_*ies 16

如果你想要相对于子图的注释然后使用它来绘制它对ax.text我来说似乎是最方便的方式.

考虑类似的事情:

import numpy as np
import matplotlib.pyplot as plt
import string

fig, axs = plt.subplots(2,2,figsize=(8,8))
axs = axs.flat

for n, ax in enumerate(axs):

    ax.imshow(np.random.randn(10,10), interpolation='none')    
    ax.text(-0.1, 1.1, string.ascii_uppercase[n], transform=ax.transAxes, 
            size=20, weight='bold')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述