Подтвердить что ты не робот

Поворот тиковых меток для морского баржета

Я пытаюсь отобразить диаграмму с повернутыми символами оси X, но диаграмма не отображается.

import seaborn as sns
%matplotlib inline

yellow='#FFB11E'
by_school=sns.barplot(x ='Organization Name',y ='Score',data = combined.sort('Organization Name'),color=yellow,ci=None)

В этот момент я вижу изображение, но после того, как я установил xticklabel, я больше не вижу изображение только ссылкой на объект. (Я бы опубликовал изображение, но мне не хватает репутации:()

by_school.set_xticklabels('Organization Name',rotation=45)

<matplotlib.axes._subplots.AxesSubplot at 0x3971a6a0>

Здесь вы найдете аналогичный вопрос: Поверните текст ярлыка в seaborn factorplot, но решение не работает.

4b9b3361

Ответ 1

Вам нужен другой метод вызова, а именно .set_rotation для каждого ticklable s. Поскольку у вас уже есть метки, просто измените их вращение:

for item in by_school.get_xticklabels():
    item.set_rotation(45)

barplot возвращает объект matplotlib.axes (начиная с seaborn 0.6.0), поэтому вы должны повернуть метки таким образом. В других случаях, когда метод возвращает объект FacetGrid, обратитесь к Повернуть текст метки в морском факторном планке

Ответ 2

Если вы пришли сюда, чтобы повернуть метки для seaborn.heatmap, следующее должно работать (на основе @Aman answer в Повернуть текст метки в морском факторном планке)

pandas_frame = pd.DataFrame(data, index=names, columns=names)
heatmap = seaborn.heatmap(pandas_frame)
loc, labels = plt.xticks()
heatmap.set_xticklabels(labels, rotation=45)
heatmap.set_yticklabels(labels[::-1], rotation=45) # reversed order for y

Ответ 3

Используйте следующий оператор кода:

by_school.set_xticklabels(by_school.get_xticklabels(), rotation=90)