Bir draw() olayından sonra bile bir metin üzerinde oluşturulmuş metin uzantıları elde etmenin bir yolunu bulamadım.
Ama burada ondan geometrik her türlü bilgi sadece metin oluşturmak ve almak için bir yolu şudur:
t = matplotlib.textpath.TextPath((0,0), 'hello', size=9, prop='WingDings')
bb = t.get_extents()
#bb:
#Bbox(array([[ 0.759375 , 0.8915625],
# [ 30.4425 , 5.6109375]]))
w = bb.width #29.683125
h = bb.height #4.7193749
Düzenleme
ben biraz bununla oynuyorum ve ben bir tutarsızlık anlayamadım. Belki başka biri yardımcı olabilir. ölçek kapalı görünüyor ve bir dpi sorunu veya bir hata ya da buysa bilmiyorum ama bu örnek oldukça fazla açıklıyor:
import matplotlib
from matplotlib import pyplot as plt
plt.cla()
p = plt.plot([0,10],[0,10])
#ffam = 'comic sans ms'
#ffam = 'times new roman'
ffam = 'impact'
fp = matplotlib.font_manager.FontProperties(
family=ffam, style='normal', size=30,
weight='normal', stretch='normal')
txt = 'The quick brown fox'
plt.text(100, 100, txt, fontproperties=fp, transform=None)
pth = matplotlib.textpath.TextPath((100,100), txt, prop=fp)
bb = pth.get_extents()
# why do I need the /0.9 here??
rec = matplotlib.patches.Rectangle(
(bb.x0, bb.y0), bb.width/0.9, bb.height/0.9, transform=None)
plt.gca().add_artist(rec)
plt.show()
Sen '' t plt.text (0.5, 0.5 = demek , 'test') '' – nedim
Bunu neden bir cevap olarak eklemiyorsunuz? Bunu denedim, tutarlılıklarını nasıl doğrulayacağını bilmeme rağmen tutarlı sonuçlar döndürüyor – nedim
Bu, MatPlotLib ile ilgili olarak gördüğüm bilgilerin muhtemelen zaman kazandıran en iyi bilgisi. Teşekkür ederim çok lanet olsun! –