g=sns.FacetGrid() 多个子图 多个style 代码案例
时间: 2023-05-26 14:04:29 浏览: 149
这里是一个例子,展示了如何使用FacetGrid来制作具有多个子图和多个样式的图表:
```
import seaborn as sns
import matplotlib.pyplot as plt
# 加载数据集
tips = sns.load_dataset("tips")
# 创建 FacetGrid 对象
g = sns.FacetGrid(tips, row="sex", col="time", margin_titles=True)
# 绘制散点图和回归线
g.map(sns.regplot, "total_bill", "tip", color=".3", fit_reg=False)
g.map(sns.regplot, "total_bill", "tip", color=".5")
# 添加标题
g.fig.suptitle("Total Bill vs. Tip by Gender and Time of Day")
# 显示图形
plt.show()
```
这个例子将数据集 "tips" 绘制成了不同的子图,每个子图都具有不同的样式。其中,选择了两种不同的颜色绘制散点图和回归线,并使用了 "margin_titles" 参数将标题放置在每个子图的顶部。最后,添加了一个总标题,并使用了 "plt.show()" 函数显示图形。
相关问题
grid = sns.FacetGrid(data1, size=6, aspect=1)
As an AI language model, I am not able to visualize the output of this code. However, I can explain what this code is doing.
The code is creating a FacetGrid plot using the seaborn library. The plot is based on the data1 dataframe and has a size of 6 and an aspect ratio of 1. The FacetGrid plot is a multi-plot grid for plotting conditional relationships. It allows you to visualize the distribution of a variable across different subsets of your data.
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] z = 0 while (z <= 9): data1 = data.loc[:, [num_columns[z], 'y']] # ax = plt.subplot(3, 3, z + 1) f = pd.melt(data1, value_vars=num_columns[z], id_vars='y') g = sns.FacetGrid(f, col='variable', hue='y') z = z + 1 g = g.map(sns.distplot, "value", bins=20) plt.show()
这段代码使用了matplotlib和seaborn库来绘制数据分布图。首先,通过设置字体为'Microsoft YaHei'来解决中文显示问题。然后,使用一个循环来处理数据集中的每个变量。在每次循环中,从数据集中选择一个数值型变量和目标变量,创建一个新的数据集data1。接下来,使用pd.melt函数将data1转换为适合绘制分布图的格式。然后,创建一个FacetGrid对象g,并使用变量'variable'和'hue'来分组数据。最后,使用sns.distplot函数绘制分布图,并设置bin数为20。循环结束后,调用plt.show()来显示所有的分布图。
阅读全文