在绘图中打印字符串,字符之间出现空格

时间:2019-04-16 14:57:52

标签: python matplotlib

我正在用pyplot制作一个图形,在其中打印一个字符串,每个字符都放在其索引在字符串中的x位置。 我将图形另存为pdf,但是在某些字符之间以某种方式添加了空格。

这是最小的代码:

import matplotlib.pyplot as plt

string = ("QWERTZUIOPASDFGHJKLYXCVBNM")

plt.xlim(0,len(string))

for index, letter in enumerate(string):
    plt.text(index, .5, letter)

plt.savefig("fig.pdf")

如果我运行代码,则在最终的pdf文件中,第一个字母和第二个字母(Q和W)之间,第三个字母和第四个字母(E和R)之间都有一个空格,依此类推。

任何人都知道为什么会发生这种情况以及如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

很显然,I的宽度比W小得多。因此间距是不同的。如果要更均匀地分布这些间距,请考虑将字母居中对齐

plt.text(index, .5, letter, ha="center")

另外,请考虑使用等宽字体,即每个字母的宽度相等的字体,例如

plt.text(index, .5, letter, ha="center", 
         fontproperties=FontProperties(family='Consolas'))

enter image description here