[python] seaborn 플롯의 그림 크기를 어떻게 변경합니까?

인쇄하기에 적합하도록 이미지의 크기를 어떻게 변경합니까?

예를 들어 가로 방향으로 크기가 11.7 인치 x 8.27 인치 인 A4 용지에 사용하고 싶습니다.



답변

그림의 크기를 지정하여 matplotlib Figure 및 Axes 객체를 미리 작성해야합니다.

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)


답변

seaborn 방법 에서 rc키 를 사용하여 사전을 매개 변수 에 전달하여 그림 크기를 설정할 수도 있습니다 .'figure.figsize'set

import seaborn as sns

sns.set(rc={'figure.figsize':(11.7,8.27)})

다른 대안은 사용 할 수 figure.figsizercParams설정을 아래와 같이 그림의 크기 :

from matplotlib import rcParams

# figure size in inches
rcParams['figure.figsize'] = 11.7,8.27

자세한 내용은 matplotlib 설명서를 참조하십시오


답변

컨텍스트를 poster수동으로 설정하거나 설정할 수 있습니다 fig_size.

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

np.random.seed(0)
n, p = 40, 8
d = np.random.normal(0, 2, (n, p))
d += np.log(np.arange(1, p + 1)) * -5 + 10


# plot
sns.set_style('ticks')
fig, ax = plt.subplots()
# the size of A4 paper
fig.set_size_inches(11.7, 8.27)
sns.violinplot(data=d, inner="points", ax=ax)
sns.despine()

fig.savefig('example.png')

여기에 이미지 설명을 입력하십시오


답변

당신이 시본에서 “그림 수준”방법에 전달하려는 경우 (예를 들어 있습니다 lmplot, catplot/ factorplot, jointplot) 당신과 사용 인수 내에서이를 지정해야 할 수 있습니다 heightaspect.

sns.catplot(data=df, x='xvar', y='yvar',
    hue='hue_bar', height=8.27, aspect=11.7/8.27)

그림 레벨 방법이 축 사양을 준수하지 않는다는 사실에 대한 자세한 내용 은 https://github.com/mwaskom/seaborn/issues/488matplotlib 객체 지향 인터페이스사용하여 seaborn으로 플로팅을 참조 하십시오 .


답변

먼저 matplotlib를 가져 와서 그림의 크기를 설정하는 데 사용하십시오

from matplotlib import pyplot as plt
import seaborn as sns

plt.figure(figsize=(15,8))
ax = sns.barplot(x="Word", y="Frequency", data=boxdata)


답변

다음을 사용하여 수행 할 수 있습니다.

plt.figure(figsize=(15,8))
sns.kdeplot(data,shade=True)


답변

이것은 또한 작동합니다.

from matplotlib import pyplot as plt
import seaborn as sns

plt.figure(figsize=(15,16))
sns.countplot(data=yourdata, ...)