ti-enxame.com

Como alterar o tamanho de uma figura no pacote Seaborn do Python

Estou tendo problemas para aumentar o tamanho dos meus personagens usando Seaborn. Estou usando o sns.pairplot para plotar colunas de um quadro de dados um contra o outro. 

    %matplotlib inline
    plt.rcParams['figure.figsize']=10,10
    columns=list(df.columns.values)
    g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])

Os gráficos são preenchidos com dados, mas o tamanho da figura é muito pequeno. Eu pensei que plot.rCParams ['figure.figsize'] controlaria o tamanho da figura, mas não parece ter efeito. Eu tentei algumas sugestões diferentes de placas on-line, mas nada parece funcionar. 

17
Vikram Josyula

Tente colocar o tamanho entre parênteses, isso faz o truque para mim:

plt.rcParams['figure.figsize']=(10,10)
20
S.Zuo

sns.pairplot "Retorna a instância PairGrid subjacente para ajustes adicionais" ... por exemplo, alterando o tamanho da figura:

g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_size_inches(15,15)
16
Martin Alexandersson

Além da resposta bem trabalhada por @MartinAnderson , o próprio mar fornece a opção de definir a altura das subtramas da grade. Em combinação com o aspect isso determina o tamanho total da figura na dependência do número de subtramas na grade. 

Em seaborn <= 0.8.1:

g = sns.pairplot(..., size=10, aspect=0.6)

Em seaborn> = 0.9.0:

g = sns.pairplot(..., height=10, aspect=0.6)

Observe que isso se aplica a todas as funções do mar que geram uma grade de números, como pairplot, relplot, catplot, lmplot e as subjacentes PairGrid ou FacetGrid.

Para outras parcelas marítimas, que plotam diretamente para os eixos, as soluções de Como você altera o tamanho das figuras desenhadas com o matplotlib? vai funcionar bem.

4
ImportanceOfBeingErnest

Se nós gostaríamos de mudar apenas a altura ou largura, então podemos fazer 

g = sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_figheight(6)
g.fig.set_figwidth(10)
1
Jeevan

Respondendo à pergunta de Rahul sobre sns.catplot ( Não é possível alterar o tamanho da parcela com matplotlib e seaborn )

Se você tentar no notebook jupyter: 

plt.figure(figsize=(25,20))
sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)

está funcionando, mas 

sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)
plt.figure(figsize=(25,20))

não está funcionando (enredo é muito pequeno). É importante adicionar line plt.figure(figsize=(25,20)) antes de sns.boxplot() e incluir %matplotlib inline, é claro, para exibir o gráfico no jupyter.

0
Dejan Marić