seaborn子图y坐标相互独立
时间: 2023-08-31 20:11:19 浏览: 44
在Seaborn中,要让子图的y坐标轴相互独立,可以使用FacetGrid对象和map方法来绘制多个子图。在map方法中,可以传入一个绘图函数,该函数可以使用FacetGrid对象中的子数据集来绘制单个子图。
举例来说,如果我们有一个包含两个分类变量的数据集,我们可以使用FacetGrid和map方法来创建两个子图。对于每个子图,我们可以使用自己的y轴标签和刻度值。
下面是一个简单的示例代码,演示如何绘制两个相互独立的子图:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 加载示例数据集
tips = sns.load_dataset("tips")
# 创建FacetGrid对象,设置两个行和一列
g = sns.FacetGrid(tips, row="sex", height=4, aspect=2)
# 为每个子图绘制一个条形图
g.map(sns.barplot, "day", "total_bill")
# 设置每个子图的y轴标签和刻度值
g.set_axis_labels(y_var="Total bill", x_var="Day")
g.set(yticks=[10, 20, 30, 40, 50])
# 显示图形
plt.show()
```
在上面的示例中,我们首先创建了一个包含两个行和一列的FacetGrid对象,并指定了行变量为性别。然后,我们使用map方法为每个子图绘制一个条形图,其中x轴为日期,y轴为总账单金额。在绘制完所有子图后,我们使用set_axis_labels方法设置每个子图的y轴标签和x轴标签,使用set方法设置y轴刻度值。最后,我们调用show方法显示图形。