本篇是《Seaborn系列》文章的第1篇.
关系类图
seaborn.relplot()解读
注意:数据一定是通过DataFrame中传送的
函数原型
seaborn.relplot(x=None, y=None, hue=None, size=None,
style=None, data=None, row=None, col=None,
col_wrap=None, row_order=None, col_order=None,
palette=None, hue_order=None, hue_norm=None,
sizes=None, size_order=None, size_norm=None,
markers=None, dashes=None, style_order=None,
legend='brief', kind='scatter', height=5,
aspect=1, facet_kws=None, **kwargs)
参数解读
必须的参数x,y,data
其他参数均为可选;
x,y:数据中变量的名称;
data:是DataFrame类型的;
可选:下面均为可选
hue:数据中的名称
对将生成具有不同颜色的元素的变量进行分组。可以是分类或数字.
row,col:数据中变量的名称
分类变量将决定网格的分面。
col_wrap:int
这个变量设置可以将多列包装以多行的形式展现(有时太多列展现,不便利),
但不可以将多行以多列的形式展现。
size:数据中的名称
根据指定的名称(列名),根据该列中的数据值的大小生成具有不同大小的效果。
可以是分类或数字
案例教程
上述案例代码已上传:Github地址
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
#查看表名和前10条数据
print(tips[:10])
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
print(tips[:10])
"""
案例1:基本的散点图
"""
sns.relplot(x="total_bill", y="tip", hue='day',data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
# 根据设置列明作为不同类别,绘制多多列数据图
"""
案例2:
设置col=列的名称 则根据列的类别展示数据
(该列的值有多少种,则将图以多少列显示)
"""
sns.relplot(x="total_bill", y="tip",hue="day", col="time", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
# 根据设置的列名作为类别名,绘制多行数据图
"""
案例3:
设置row=列的名称 则根据列的类别展示数据
(该列的值有多少种,则将图以多少行显示)
"""
sns.relplot(x="total_bill", y="tip",hue="day", row="sex", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
"""
案例4:布局
如果同时设置了col和row,相同的row在同一行,相同的col在同一列,效果如下
"""
sns.relplot(x="total_bill", y="tip",hue="day",col="time", row="sex", data=tips)
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks")
#构建数据
tips = sns.load_dataset("tips")
"""
案例5:布局
通过设置col_wrap 将多列数据以多行的形式展示
"""
sns.relplot(x="total_bill", y="tip", hue="time",col="day", col_wrap=2, data=tips)
plt.show()
案例地址
上述案例代码已上传:Github地址
Github地址https://github.com/Vambooo/SeabornCN
更多技术干货在公众号:数据分析与可视化学研社