繁体   English   中英

如何使用seaborn factorplot更改图形大小

[英]How to change figuresize using seaborn factorplot

%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");

在此处输入图片说明

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

2019 年添加的注释:在现代 seaborn 版本中, size参数已重命名为height

更具体一点:

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

在构建绘图时,您希望将参数“size”或“aspect”传递给 sns.factorplot()。

尺寸会改变高度,同时保持纵横比(所以如果只改变尺寸,它也会变宽。)

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

上面的代码应该可以在 ipython notebook 本地运行。

在这些示例中缩小了绘图大小以显示效果,并且因为上述代码中的绘图在保存为 png 时相当大。 这也表明 size/aspect 包括边距中的图例。

大小=2,方面=1

大小=2,方面=1

大小=4,方面=1

大小=4,方面=1

大小=4,方面=2

大小=4,方面=2

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

help(sns.factorplot)

mpl.rc存储在全局字典中(参见http://matplotlib.org/users/customizing.html )。 所以,如果你只想改变一个数字的大小(本地),它会做到这一点:

plt.figure(figsize=(45,10))
sns.factorplot(...)

它使用matplotlib-1.4.3seaborn-0.5.1对我seaborn-0.5.1

图形的sizefactorplotsizeaspect参数factorplot 它们对应于每个的大小(“ size ”实际上表示“高度”,然后size * aspect给出宽度),因此如果您的目标是整个图形的特定大小,则需要从那里向后工作。

import seaborn as sns

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

plt.figure(figsize=(45,10))

输出

  1. 不要使用%pylab inline ,它已被弃用,使用%matplotlib inline
  2. 该问题并非特定于 IPython。
  3. 使用 seaborn .set_style函数,将你的 rc 作为第二个参数或 kwarg 传递给它。: http ://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_style.html

如果您只想缩放图形,请使用以下代码:

import matplotlib.pyplot as plt
plt.figure(figsize=(8, 6))
sns.factorplot("MONTH", "VALUE", hue="REGION", data=typessns, kind="box", palette="OrRd"); // OR any plot code

截至 2018 年 7 月的注意事项:

seaborn.__version__ == 0.9.0

影响上述答案的两个主要变化

  1. factorplot函数已重命名为catplot()

  2. 对于多图网格函数和使用它们的函数, size参数已重命名为height

https://seaborn.pydata.org/whatsnew.html

这意味着@Fernando Hernandez提供的答案应按以下方式进行调整:

%matplotlib inline

import seaborn as sns

exercise = sns.load_dataset("exercise")

# Defaults are hieght=5, aspect=1
sns.catplot("kind", "pulse", "diet", exercise, kind="point", height=4, aspect=2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM