Печать строки на графике, между символами появляются пробелы - PullRequest
2 голосов
/ 16 апреля 2019

Я делаю рисунок с 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 Ответ

1 голос
/ 16 апреля 2019

Очевидно, что I намного меньше, чем W. Так что расстояния разные. Если вы хотите распределить эти интервалы более равномерно, рассмотрите выравнивание по центру букв

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

Также рассмотрите возможность использования моноширинного шрифта, то есть шрифта, в котором каждая буква имеет одинаковую ширину, например,

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...