如何调整 seaborn 图的图形大小


有两种方法可以更改 Python 中海洋图的大小。

第一种方法可用于更改“轴级”图的大小,例如sns.scatterplot()sns.boxplot()图:

 sns. set (rc={" figure . figsize ":( 3 , 4 )}) #width=3, #height=4

第二种方法可用于更改“图形级”图的大小,例如sns.lmplot()sns.catplot()sns.jointplot()图。

此方法要求您在图表参数中指定高度纵横比(宽度与高度的比率):

 sns. lmplot (data=df, x=" var1 ", y=" var2 ",
              height= 6 , aspect= 1.5 ) #height=6, width=1.5 times larger than height

以下示例展示了如何在实践中使用这两种方法。

方法 1:更改轴级别图的大小

下面的代码展示了如何创建宽度为8、高度为4的海洋点云:

 import pandas as pd
import seaborn as sns

#create data
df = pd. DataFrame ({" var1 ": [25, 12, 15, 14, 19, 23, 25, 29],
                   " var2 ": [5, 7, 7, 9, 12, 9, 9, 4],
                   " var3 ": [11, 8, 10, 6, 6, 5, 9, 12]})

#define figure size
sns. set (rc={" figure . figsize ":( 8 , 4 )}) #width=8, height=4

#display scatterplot
sns. scatterplot (data=df, x=" var1 ", y=" var2 ") 

以下代码展示了如何创建宽度为 6、高度为 5 的 Seaborn 箱线图:

 #define figure size
sns. set (rc={" figure . figsize ":( 6 , 5 )}) #width=6, height=5

#display scatterplot
sns. boxplot (data=df[" var1 "]) 

方法 2:在图形级别更改路径的大小

对于图形级绘图(例如 sns.lmplot、sns.catplot、sns.jointplot 等),您必须在图表本身中指定高度和宽度。

以下代码显示如何创建高度为 5、宽度为高度的 1.5 倍的海洋 lmplot:

 import pandas as pd
import seaborn as sns

#createdata
df = pd. DataFrame ({" var1 ": [25, 12, 15, 14, 19, 23, 25, 29],
                   " var2 ": [5, 7, 7, 9, 12, 9, 9, 4],
                   " var3 ": [11, 8, 10, 6, 6, 5, 9, 12]})

#create lmplot
sns. lmplot (data=df, x=" var1 ", y=" var2 ",
              height= 5 , aspect= 1.5 ) #height=5, width=1.5 times larger than height

以下代码展示了如何创建高度为 3.5 的海洋公共图。由于联合图默认是正方形的,因此我们不需要指定纵横比值:

 sns. jointplot (data=df, x=" var1 ", y=" var2 ", height= 3.5 ) 

有关图形级函数和轴级函数之间差异的详细说明,请参阅Seaborn 文档

其他资源

如何为 Seaborn 绘图添加标题
如何更改 Seaborn 图上的轴标签
如何更改 Seaborn 中图例的位置

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注