代码之家  ›  专栏  ›  技术社区  ›  Mr. T Andres Pinzon

防止在图形区域外显示批注

  •  4
  • Mr. T Andres Pinzon  · 技术社区  · 8 年前

    我用以下代码创建了一个带有注释的散点图:

    import numpy as np
    import matplotlib.pyplot as plt
    
    np.random.seed(12)
    plt.scatter(np.random.random(10), np.random.random(10), zorder = 2)
    bbox_props = dict(boxstyle = "circle, pad = 10", fc = "w", ec = "k")
    plt.annotate("interesting", (0.6, 0.8), bbox = bbox_props, zorder = 1)
    plt.show()
    

    样本输出:

    enter image description here

    如何防止注释显示在图形外部?我搜索了它,但只能找到相反的情况,即人们希望在图形外部打印注释/文本/图例。

    1 回复  |  直到 8 年前
        1
  •  5
  •   DavidG    8 年前

    你需要使用 clip_on 论证 plt.annotate 以下内容:

    import numpy as np
    import matplotlib.pyplot as plt
    
    np.random.seed(12)
    plt.scatter(np.random.random(10), np.random.random(10), zorder = 2)
    bbox_props = dict(boxstyle = "circle, pad = 10", fc = "w", ec = "k")
    plt.annotate("interesting", (0.6, 0.8), bbox = bbox_props, zorder = 1, clip_on=True)
    plt.show()
    

    enter image description here