首页 > 解决方案 > 防止注释显示在图形区域之外

问题描述

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

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()

样本输出:

在此处输入图像描述

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

标签: pythonpython-3.xmatplotlib

解决方案


您需要使用以下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()

在此处输入图像描述


推荐阅读