При рисовании текста в matplotlib
с text()
, а затем интерактивное панорамирование изображения, полученный нарисованный текст не обрезается в окне данных. Это противоречит тому, как работает печать данных или текст чертежа с использованием annotate()
, и не создает интуитивного смысла, поскольку text()
использует координаты окон данных.matplotlib text not clipped
import matplotlib.pyplot as plt
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
ax.text(0.5, 0.2, 'text')
ax.annotate('anno', (0.5, 0.3))
plt.draw()
Интерактивно панорамируйте текст из окна данных со всех сторон. Образец «anno» annotate()
обрезается, когда контрольная точка пересекает границу окна данных, а нарисованный «текст» - text()
.
Я не уверен, что это поведение является признаком или ошибкой, но обязательно похоже на последнее, поскольку этот текст мешает меток осей и т. Д. Используя 1.2.1 с бэкэндом TkAgg.
Дополнительный вопрос будет, как правильно обрезать весь текст от выхода за пределы окна данных, а не только тогда, когда ссылка координат делает.
Спасибо!
Спасибо за ответ, это решение действительно работает (не знаю, почему кто-то проголосовал за него). Любопытно, что исходный текстовый объект имеет обрезку. 't1 = ax.text (0.5.0.2, 'text'); t1.get_clip_on() 'возвращает значение True. – CNK
Кто-то, кажется, находится в ниспадающем свете, что я могу сказать. Если вы этого еще не сделали, вы должны поддержать и принять его ответ. Когда я это увидел, все еще было в -1. – Vorticity
@CNK Можете ли вы сообщить об этом поведении (неверный результат 'get_clip_on') в качестве ошибки? – tacaswell