gpt4 book ai didi

python - matplotlib:在图外添加注释

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:49 34 4
gpt4 key购买 nike

我想在图形的轴外添加注释。它由一个彩色矩形和一个短文本组成。

对于矩形,我可以设置 clip_on=False 并且它甚至绘制在坐标轴之外。文本添加了axes.annotate,我找不到相应的设置。即使是全局 axes.set_clip_on(False) 也不会阻止文本被剪掉:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

plt.figure()
ax = plt.subplot(111)
plt.plot([0,1], [0,1])

ax.set_clip_on(False)

ax.annotate("test", (0.5, 0.5), fontsize="x-large")
ax.annotate("outside", (0.5, 1.1), fontsize="x-large")

p1 = mpatches.Rectangle([0.6, 0.5], *[0.1, 0.1], color="blue")
p2 = mpatches.Rectangle([0.6, 1.1], *[0.1, 0.1], color="red", clip_on=False)

ax.add_patch(p1)
ax.add_patch(p2)

plt.show()

看起来像这样:

plot with clipped text

如何防止图形外部的文本被剪掉?

最佳答案

您要查找的相应设置称为 annotation_clip,可以像 clip_on 一样设置为 False。完整代码如下所示:

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

plt.figure()
ax = plt.subplot(111)
plt.plot([0,1], [0,1])

ax.set_clip_on(False)

ax.annotate("test", (0.5, 0.5), fontsize="x-large")
ax.annotate("outside", (0.5, 1.1), fontsize="x-large", annotation_clip=False)

p1 = mpatches.Rectangle([0.6, 0.5], *[0.1, 0.1], color="blue")
p2 = mpatches.Rectangle([0.6, 1.1], *[0.1, 0.1], color="red", clip_on=False)

ax.add_patch(p1)
ax.add_patch(p2)

plt.show()

结果是:

enter image description here

关于python - matplotlib:在图外添加注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58266464/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com