Максимальная ширина метки оси X - PullRequest
0 голосов
/ 20 марта 2019

Можно ли как-нибудь настроить максимальную ширину для надписей на оси x?У меня длинные метки, и они перекрываются, поэтому я хотел бы разделить одну метку на несколько строк.Вот как я сейчас устанавливаю ярлыки:

    plt.plot(
        [point['label'] for point in data],
        [point['value'] for point in data],
        color=Colors.success,
        marker='o',
        linewidth=1,
        markersize=5,
    )

enter image description here

Ответы [ 2 ]

3 голосов
/ 20 марта 2019
plt.plot([0,10],[0,2])
plt.xticks(np.arange(11),["\n".join("27 Nov 1982".split())]*11)

Если ваши метки состоят из нескольких слов, вы можете разделить их с помощью "\ n", чтобы каждое слово метки отображалось в отдельной строке.

enter image description here

Когда метки представляют собой очень длинные строки (не слова), тогда лучший способ - это повернуть их. Если по каким-то причинам вы не хотите вращаться, другой (безобразный) способ состоит в том, чтобы разбить длинную строку для каждого n символов на другую строку (где n = 4 в примере ниже).

labels = ["verylongname{0}".format(i) for i in range(11)]
plt.plot([0,10],[0,2])
plt.xticks(np.arange(11),["\n".join([word[i:i+4] for i in range(0, len(word), 4)]) for word in labels])

enter image description here

0 голосов
/ 20 марта 2019

Вы можете установить метки на оси х:

#Every n-th label
positions = np.arange(0,len(point),n)
labels = [point['label'] for point in data][::n]
plt.xticks(positions,labels)

Вы также можете вращать их.

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