如何调整 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 文档。