Kun*_*nda 3 python text matplotlib string-length
我正在努力使 matplotlib 中的文本在填充空间后具有相同的视觉长度。它总是对我不起作用。
这是我尝试过的,
from matplotlib import pyplot as plt
fig = plt.figure()
plt.text(0,1,'how are you', bbox=dict(facecolor='red', alpha=0.5))
plt.text(0,0,'how'.ljust(len('how are you'), bbox=dict(facecolor='red', alpha=0.5))
plt.show()
Run Code Online (Sandbox Code Playgroud)
和想法?
谢谢!
ljust
向文本附加您指定的任意数量的空格。然而,对于普通字体,空格比大多数其他字母要小。比较:
下部文本以所谓的等宽字体书写,其中每个字母(包括空格)具有相同的空格 - 因此得名。
您需要使用这样的字体才能使您的程序按预期方式工作:
from matplotlib import pyplot as plt
plt.rcParams['font.family'] = 'monospace'
fig = plt.figure()
plt.text(0,1,'how are you', bbox=dict(facecolor='red', alpha=0.5))
plt.text(0,0,'how'.ljust(len('how are you')), bbox=dict(facecolor='red', alpha=0.5))
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果这不是一个选项,您可以在文本后面放置一个矩形,将其宽度设置为您想要的,请参阅这个问题Matplotlib:如何指定x标签边界框的宽度