如何使用seaborn factorplot更改figureize

fan*_*cci 46 matplotlib seaborn

%pylab inline

import pandas as pd
import numpy as np
import matplotlib as mpl
import seaborn as sns

typessns = pd.DataFrame.from_csv('C:/data/testesns.csv', index_col=False, sep=';')

mpl.rc("figure", figsize=(45, 10))
sns.factorplot("MONTH", "VALUE", hue="REGION", data=typessns, kind="box", palette="OrRd");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我总是得到一个小尺寸的数字,无论我在figsize指定的大小...如何解决它?

小智 81

更具体一点:

%matplotlib inline

import seaborn as sns

exercise = sns.load_dataset("exercise")

# Defaults are size=5, aspect=1
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=2, aspect=1)
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=1)
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=2)
Run Code Online (Sandbox Code Playgroud)

在构造绘图时,您希望将参数'size'或'aspect'传递给sns.factorplot().

尺寸将改变高度,同时保持纵横比(因此如果只改变尺寸,它也会变宽).

Aspect将改变宽度,同时保持高度不变.

上面的代码应该可以在ipython笔记本中本地运行.

在这些示例中减少了绘图大小以显示效果,并且因为上面代码中的绘图在保存为png时相当大.这也表明尺寸/方面包括边距中的图例.

size = 2,aspect = 1

size = 2,aspect = 1

size = 4,aspect = 1

size = 4,aspect = 1

size = 4,aspect = 2

size = 4,aspect = 2

此外,加载'sns'模块后,可以查看此绘图函数的所有其他有用参数/参数和默认值:

help(sns.factorplot)
Run Code Online (Sandbox Code Playgroud)


aru*_*aku 23

mpl.rc存储在全局字典中(请参阅http://matplotlib.org/users/customizing.html).所以,如果你只想改变一个数字(本地)的大小,它就可以解决问题:

plt.figure(figsize=(45,10))
sns.factorplot(...)
Run Code Online (Sandbox Code Playgroud)

它适用于我使用matplotlib-1.4.3seaborn-0.5.1

  • 在我尊重与你相同的顺序之前,对我有用,`plt.figure`必须先行.谢谢 (3认同)

mwa*_*kom 5

图形的大小由的sizeaspect参数控制factorplot。它们与每个构面的大小相对应(“ size”的真正含义是“高度”,然后size * aspect给出宽度),因此,如果您要为整个图形确定一个特定的大小,则需要从那里开始倒退。


cha*_*ner 5

import seaborn as sns

sns.set(rc={'figure.figsize':(12.7,8.6)})

plt.figure(figsize=(45,10))
Run Code Online (Sandbox Code Playgroud)

输出