FacetGrid与调色盘-Seaborn样式风格设置-调色盘设置

FacetGrid与调色盘

FacetGrid结构图
之前我们在绘图的时候,学了relplot、catplot、lmplot等,这些函数可以通过col、row等在一个Figure中绘制多个图。这些函数之所以有这些功能,是因为他们的底层使用了FacetGrid来组装这些图形。

Axes绘图
实际上seaborn的绘图函数中也有大量的直接使用Axes进行绘图的,凡是函数名中已经明确显示了这个图的类型,这种图都是使用Axes绘图的。比如sns.scatterplot、sns.lineplot、sns.barplot等。Axes绘图可以直接使用之前matplotlib的一些方式设置图的元素。

fig,ax = plt.subplots(1,2,figsize=(20,5))
sns.scatterplot(x="total_bill",y="tip",data=tips,ax=ax[0])
sns.barplot(x="day",y="total_bill",data=tips,ax=ax[1])

注意
• 凡是函数名中已经明确了图的类型,都是直接使用 Axes 进行绘图。构建子图需结合matplotlib
• 直接使用Axes绘图,参数更加灵活(可以使用标签索引或字符串)
• relplot/catplot/lmplot等函数都是用的FacetGrid方法技术
• FaceGrid 可以通过 col 和 row 等参数来一次性构建多个图形
• FacetGrid绘图的 x 和 y 参数,必须为 DataFrame 的列的名字(字符串)

Axes绘图
axes_plt = sns.scatterplot(x="total_bill",y="tip",data=tips)
axes_plt.set_xticks(range(0,60,5))
plt.show()

fig,ax = plt.subplots(1,2,figsize=(20,5))  # 1*2
sns.scatterplot(x="total_bill",y="tip",data=tips,ax=ax[0])
sns.barplot(x="day",y="total_bill",data=tips,ax=ax[1])

FacetGrid使用

先创建一个FacetGrid对象
再调用这个对象的map方法
map的第一个参数是函数
后续map通过调用该函数绘制图形
后面的参数是传给函数的参数

tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips)
g.map(plt.scatter,"total_bill","tip")

在这里插入图片描述

其中第一个参数是可以绘制Axes图,并且可以接收color参数的函数。

参数 描述 FacetGrid函数
plt.plot/sns.lineplot 绘制折线图 sns.relplot(kind=“line”)
plt.hexbin 绘制六边形图形 sns.jointplot(kind=“hex”)
plt.scatter/sns.scatterplot 绘制散点图 sns.relplot(kind=“scatter”)
plt.hist 绘制直方图 sns.distplot
sns.stripplot 绘制分类散点图 sns.catplot(kind=“strip”)
sns.swarmplot 散开来的分类散点图 sns.catplot(kind=“swarm”)
sns.violinplot 绘制小提琴图 sns.catplot(kind=“violin”)
sns.pointplot 绘制点线图 sns.catplot(kind=“point”)
sns.barplot 绘制条形图 sns.catplot(kind=“bar”)
sns.countplot 绘制数量柱状图 sns.catplot(kind=“count”)
sns.regplot 带有回归线的散点图 sns.lmplot
设置图形的尺寸

使用FacetGrid绘制出图形后,有时候我们想设置每个图形的尺寸或者是宽高比,那么我们可以通过在FacetGrid中设置height和aspect来实现,其中height表示的是每个图形的尺寸(默认是宽高一致),aspect表示的是宽度/高度的比例。

g = sns.FacetGrid(tips,col="day",row=
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值