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

Mr.*_*. T 4 python matplotlib python-3.x

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

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()
Run Code Online (Sandbox Code Playgroud)

样本输出:

在此输入图像描述

如何防止注释显示在图表外?我搜索它但只能找到相反的情况,人们想在图表外打印注释/文本/图例.

Dav*_*idG 5

你需要使用以下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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述