Как добавить заголовок к морскому графику

110

Выглядит неплохо для Google, но не смог найти в Интернете что-то работающее.

Я пробовал и то sns.boxplot('Day', 'Count', data= gg).title('lalala')и другое sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Ни один не работал. Думаю, это может быть потому, что я также работаю с matplotlib.

слишком холодно
источник

Ответы:

187

Коробчатая диаграмма Seaborn возвращает экземпляр осей matplotlib. В отличие от самого pyplot, у которого есть метод plt.title(), соответствующий аргумент для оси ax.set_title(). Поэтому вам нужно позвонить

sns.boxplot('Day', 'Count', data= gg).set_title('lalala')

Полный пример:

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
sns.boxplot(x=tips["total_bill"]).set_title("LaLaLa")

plt.show()

Конечно, вы также можете использовать возвращенный экземпляр осей, чтобы сделать его более читаемым:

ax = sns.boxplot('Day', 'Count', data= gg)
ax.set_title('lalala')
ax.set_ylabel('lololo')
ВажностьБытия Эрнеста
источник
4
обидно set_title()и подобных функций нет return self, что было бы аккуратно.
Laurens Koppenol
@LaurensKoppenol Кредо Matplotlib - возвращать объект, который метод создает или манипулирует. Это вопрос гибкости; а matplotlib явно хочет предоставить пользователям такую ​​гибкость. Более высокоуровневые API, расположенные поверх matplotlib, часто решают разрешить цепочку, но в этих случаях у вас возникают проблемы с манипулированием базовыми объектами, когда требуется какое-то нестандартное поведение.
ImportanceOfBeingErnest
при объединении различных интерфейсов с matplotlib я определенно согласен
Laurens Koppenol
AttributeError: объект FacetGrid не имеет атрибута set_title
Dumb ML
30

Попробуйте добавить это в конец вашего кода:

import matplotlib.pyplot as plt

plt.title('add title here')
Стефано Поттер
источник
13

Функция sns.boxplot () возвращает объект Axes (matplotlib.axes.Axes). пожалуйста, обратитесь к документации, вы можете добавить заголовок, используя метод 'set', как показано ниже:

sns.boxplot('Day', 'Count', data=gg).set(title='lalala')

вы также можете добавить другие параметры, такие как xlabel, ylabel, в метод set.

sns.boxplot('Day', 'Count', data=gg).set(title='lalala', xlabel='its x_label', ylabel='its y_label')

Существуют и другие методы, упомянутые в документации matplotlib.axes.Axes, для добавления плитки, легенды и меток.

Ахил Пента
источник
9

Для одной коробчатой ​​диаграммы:

import seaborn as sb
sb.boxplot(data=Array).set_title('Title')

Для большего количества коробок на том же участке:

import seaborn as sb
sb.boxplot(data=ArrayofArray).set_title('Title')

например

import seaborn as sb
myarray=[78.195229, 59.104538, 19.884109, 25.941648, 72.234825, 82.313911]
sb.boxplot(data=myarray).set_title('myTitle')
Шрм
источник
4

.set_title ('') можно использовать для добавления заголовка к Seaborn Plot

import seaborn as sb
sb.boxplot().set_title('Title')
Кранти
источник