Запретить отображение аннотации вне области графика
Я создаю точечный график с аннотацией со следующим кодом:
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()
Образец вывода:
Как вы предотвращаете отображение аннотации вне графика? Я искал его, но смог найти только противоположный случай, когда люди хотят напечатать аннотацию / текст / легенду вне графика.
1 ответ
Решение
Вам нужно использовать 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()