[英]matplotlib: add annotation outside of figure
我想在我的圖形軸之外添加一個注釋。 它由一個彩色矩形和一個短文本組成。
對於矩形,我可以設置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()
它看起來像這樣:
如何防止我的圖形之外的文本被剪掉?
您正在查找的相應設置稱為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()
結果是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.