Вращение меток осей на графиках Seaborn

  1. Используйте функцию set_xticklabels() для поворота надписей на осях Seaborn
  2. Используйте функцию xticks() для поворота надписей на осях Seaborn
  3. Используйте функцию setp() для поворота надписей на осях Seaborn

Seaborn предлагает множество настроек окончательной фигуры. Одна из таких небольших, но важных настроек заключается в том, что мы можем контролировать метки галочки на обеих осях.

Например, обратите внимание на проблему со следующим графиком.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
ax = sns.barplot(x = 'Date', y = 'Price',data = df)

Seaborn Rotate Label 1

В приведенном выше коде мы построили график для данных временного ряда цены продукта. Как видите, по оси абсцисс отложены целые даты. Из-за этого все перекрывается и трудно читается.

Для таких ситуаций мы можем вращать метки галочки на оси.

В этом уроке мы узнаем, как вращать такие метки на морских графиках.

Используйте функцию set_xticklabels() для поворота надписей на осях Seaborn

Функция set_xticklabels() устанавливает значения для меток на оси абсцисс. Мы можем использовать его для вращения этикеток. Однако этой функции требуются некоторые значения меток, чтобы использовать функцию get_xticklabels(), которая возвращает метки по умолчанию и вращает их с помощью параметра rotation.

Следующий код демонстрирует его использование.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
ax = sns.barplot(x = 'Date', y = 'Price',data = df)
ax.set_xticklabels(ax.get_xticklabels(),rotation = 30)

Seaborn Rotate Label 2

Используйте функцию xticks() для поворота надписей на осях Seaborn

Параметр rotation в функции matplotlib.pyplot.xticks() также может этого добиться. Нам не нужно передавать какие-либо метки, и мы можем напрямую использовать параметр в этой функции.

Например,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
ax = sns.barplot(x = 'Date', y = 'Price',data = df)
plt.xticks(rotation=45)

Этикетки поворота на seaborn 3

Используйте функцию setp() для поворота надписей на осях Seaborn

Поскольку большинство морских графиков возвращают объект осей matplotlib, мы можем использовать функцию setp() из этой библиотеки. Мы будем брать значения меток галочки с помощью функции xtick() и вращать их с помощью параметра rotation функции setp().

См. Следующий код.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
ax = sns.barplot(x = 'Date', y = 'Price',data = df)
locs, labels = plt.xticks()
plt.setp(labels, rotation=45)

Этикетки поворота на seaborn 4

Сопутствующая статья - Seaborn Axis

  • Установите отметки оси на графиках Seaborn
  • Сопутствующая статья - Seaborn Label

  • Установите отметки оси на графиках Seaborn