Como altero o tamanho da minha imagem para que ela seja adequada para impressão?
Por exemplo, eu gostaria de usar papel A4, cujas dimensões são 11,7 polegadas por 8,27 polegadas na orientação paisagem.
Você precisa criar os objetos Matplotlib Figure e Axes antes do tempo, especificando o tamanho da figura:
from matplotlib import pyplot
import seaborn
import mylib
a4_dims = (11.7, 8.27)
df = mylib.load_data()
fig, ax = pyplot.subplots(figsize=a4_dims)
seaborn.violinplot(ax=ax, data=df, **violin_options)
sns.lmplot()
height
easpect
parâmetros como explicado aqui stackoverflow.com/a/51602446/2412831Você também pode definir o tamanho da figura passando o dicionário para o
rc
parâmetro com a tecla'figure.figsize'
noset
método marítimo :Outra alternativa pode ser a utilização
figure.figsize
dercParams
ao tamanho figura conjunto como a seguir:Mais detalhes podem ser encontrados na documentação do matplotlib
fonte
.set()
antes.set_style()
Você pode definir o contexto para ser
poster
ou definir manualmentefig_size
.fonte
sns.lmplot()
Observe que se você estiver tentando passar para um método de "nível de figura" no mar (por exemplo
lmplot
,catplot
/factorplot
,jointplot
) , poderá e deve especificar isso nos argumentos usandoheight
easpect
.Consulte https://github.com/mwaskom/seaborn/issues/488 e Plotagem com seaborn usando a interface orientada a objetos matplotlib para obter mais detalhes sobre o fato de que os métodos no nível de figura não obedecem às especificações dos eixos.
fonte
primeiro importe o matplotlib e use-o para definir o tamanho da figura
fonte
Isso pode ser feito usando:
fonte
Isso também deve funcionar.
fonte
Para o meu gráfico (um sns factorplot), a resposta proposta não funcionou bem.
Então eu uso
Logo após a trama com o mar (portanto, não há necessidade de passar um machado para o mar ou alterar as configurações de rc).
fonte
python g = sns.FacetGrid(df.set_index('category'), col="id") pyplot.gcf().set_size_inches(11.7, 8.27) g.map(lambda data, color: data.plot.barh(color=color), "count")
sns.FacetGrid
que definiria um tamanho de figura de acordo com um valor calculado (definido porheight
easpect
) e a alteração do tamanho de figura diretamente após o funcionamento da plotagem por via marítima. E outro ajuste fino do enredo pode acontecer depois de alterar o tamanho da figuraAlém da resposta elz referente aos métodos "nível de figura" que retornam objetos de grade com vários gráficos , é possível definir a altura e a largura da figura explicitamente (ou seja, sem usar a proporção) usando a seguinte abordagem:
fonte
set_figwidth
eset_figheight
funciona bem para objetos de grade. >>> importar seaborn >>> importar matplotlib.pyplot como pyplot >>> dicas = seaborn.load_dataset ("dicas") >>> g = seaborn.FacetGrid (dicas, col = "hora", linha = "fumante") >>> g = g.map (pyplot.hist, "total_bill") >>> g.fig.set_figwidth (10) >>> g.fig.set_figheight (10)As principais respostas de Paul H e J. Li não funcionam para todos os tipos de figuras marítimas. Para o
FacetGrid
tipo (por exemplosns.lmplot()
), use o parâmetrosize
easpect
.Size
altera a altura e a largura, mantendo a proporção.Aspect
apenas altera a largura, mantendo a altura constante.Você sempre pode obter o tamanho desejado jogando com esses dois parâmetros.
Crédito: https://stackoverflow.com/a/28765059/3901029
fonte