【问题标题】:Matplotlib: Annotate Subplots in a Figure with A, B, C [duplicate]Matplotlib:用A,B,C注释图中的子图[重复]
【发布时间】:2014-08-28 08:15:17
【问题描述】:

在向科学期刊提交论文时,人们经常需要用 A、B、... 列举一个图形的不同子图。

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

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

【问题讨论】:

    标签: python matplotlib annotations


    【解决方案1】:

    如果您想要相对于子图的注释,那么使用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')
    

    【讨论】:

    • 我知道必须有一种优雅的方式。非常感谢。
    • 标记为与我回答的问题重复。我承认存在利益冲突,但优先考虑问题。如果您感到委屈,请告诉我。
    • 不,完全没有问题。来吧。
    • 特别喜欢 string.ascii_uppercase[n] 技巧!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多