Изменить ориентацию меток xtick по умолчанию в matplotlib - PullRequest
1 голос
/ 20 июня 2019

Я создал граф в matplotlib из фрейма данных.Мой фрейм данных автоматически заполнил график именем индекса в качестве xlabel и установил метки xtick в качестве значения каждого индекса (0-16).

Но метки перекрывают друг друга, и я не могуКажется, выясняется, как захватить их, чтобы повернуть, чтобы они были читабельными.

Я пробовал использовать функцию поворота, но ничего не изменилось.Пока единственное, что я смог сделать, это установить plt.xticks ([]) и заставить xticks исчезнуть.Таким образом, кажется, что plt.xticks находится в правильном направлении, но, похоже, ничего не вносит изменений.

df['Count'].plot(kind = 'bar')
df['Duration'].plot(secondary_y = True, kind = 'line', color = 'red')
width = .5

ax = plt.gca()
plt.xlim([-width, len(df['Count'])-width])
plt.title('Title')
plt.ylabel('Duration (min)')
plt.xticks(rotation = 45)

Это дает мне (массив ([0,1, ... 16]),), а затем печатает график без изменения ориентации xticks.

Метки xtick устанавливаются автоматически (по-видимому), и я не уверен, как их получить.

1 Ответ

0 голосов
/ 20 июня 2019

Попробуйте передать значение угла поворота в качестве параметра rot=30 на второй график. Это будет вращать тики оси X с указанным углом. Используйте отрицательное значение для их вращения по часовой стрелке


Пример полного ответа

import pandas as pd

df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})

df['val'].plot(kind = 'bar')
df['val'].plot(secondary_y = True, kind = 'line', color = 'red', rot=30)

enter image description here

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