Como adicionar título ao boxplot de origem marinha

108

Parece bastante pesquisável, mas não consegui encontrar algo online que funcione.

Eu tentei tanto sns.boxplot('Day', 'Count', data= gg).title('lalala')e sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Nenhum funcionou. Acho que pode ser porque também estou trabalhando com matplotlib.

está frio demais
fonte

Respostas:

188

Seaborn box plot retorna uma instância de eixos matplotlib. Ao contrário do próprio pyplot, que possui um método plt.title(), o argumento correspondente para um eixo é ax.set_title(). Portanto, você precisa ligar

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

Um exemplo completo seria:

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()

Claro, você também pode usar a instância de eixos retornada para torná-la mais legível:

ax = sns.boxplot('Day', 'Count', data= gg)
ax.set_title('lalala')
ax.set_ylabel('lololo')
ImportanceOfBeingErnest
fonte
4
é uma pena set_title()e funções semelhantes não return self, isso seria legal.
Laurens Koppenol
O credo de @LaurensKoppenol Matplotlib é retornar o objeto que o método cria ou manipula. É uma questão de flexibilidade; e matplotlib explicitamente deseja dar aos usuários essa flexibilidade. Mais APIs de alto nível que ficam em cima do matplotlib geralmente decidem permitir o encadeamento, mas nesses casos você tem problemas para manipular os objetos subjacentes quando deseja algum comportamento não padrão.
ImportanceOfBeingErnest
ao combinar as várias interfaces matplotlib, eu definitivamente concordo
Laurens Koppenol
AttributeError: o objeto 'FacetGrid' não tem o atributo 'set_title'
Dumb ML
29

Tente adicionar isso no final do seu código:

import matplotlib.pyplot as plt

plt.title('add title here')
Stefano Potter
fonte
10

A função sns.boxplot () retorna o objeto Axes (matplotlib.axes.Axes). consulte a documentação que você pode adicionar título usando o método 'definir' conforme abaixo:

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

você também pode adicionar outros parâmetros como xlabel, ylabel ao método set.

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

Existem alguns outros métodos, conforme mencionado na documentação matplotlib.axes.Axes, para adicionar bloco, legenda e rótulos.

akhil penta
fonte
7

Para um único boxplot:

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

Para mais boxplot no mesmo gráfico:

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

por exemplo

import seaborn as sb
myarray=[78.195229, 59.104538, 19.884109, 25.941648, 72.234825, 82.313911]
sb.boxplot(data=myarray).set_title('myTitle')
Shrm
fonte
4

.set_title ('') pode ser usado para adicionar o título ao Seaborn Plot

import seaborn as sb
sb.boxplot().set_title('Title')
Kranthi Kumar Valaboju
fonte