Seaborn
是一个基于Matplotlib
的Python
数据可视化库,它提供更高级的接口,用于绘制表现力更强和信息更丰富的统计图形,并与Pandas
紧密集成。相较于Matplotlib
,Seaborn
在统计方面的专业性更强。
调用relplot
方法绘制散点图(relplot
中的参数kind
默认是'scatter'
)。tips.csv
文件内容如下:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style='darkgrid')
tips = sns.load_dataset('tips')
sns.relplot(x='total_bill', y='tip', col='time', hue='smoker',
style='smoker', size='size', data=tips)
plt.show()
sns.set()
:调用set方法设置图形主题,共五种主题darkgrid(默认)、whitegrid、dark、white、ticks。更换时使用参数style="主题"即可。
sns.load_dataset(“tips”)
:加载数据集,并返回数据帧。
sns.relplot
:调用relploot方法绘制图形,xy参数决定了点的位置,size参数决定了点形状的大小,col根据参数的值决定画布会产生几个子图,哪些数据会落在哪个子图内,hue和style决定了点的色调和形状。
plt.show()
:调用show方法显示图形。
现在我们就观察一下tips.csv
文件中的数据。一步步的探究relplot
中各个参数的意义。
在绘图时,x轴的total_bill
是总金额,y轴的tip
是小费,根据x,y的值可以确定一个点,现在使用hue
参数进行着色。
tips.csv
文件中smoker
列只有两种值,Yes或No,那么着色后的每个点会根据hue
的值来进行着色。
sns.relplot(x='total_bill', y='tip', hue='smoker', data=tips)
引入style
变量来修改点的形状,根据是否吸烟将形状分为两种。
sns.relplot(x='total_bill', y='tip', hue='smoker',
style='smoker', data=tips)
点的形状不再根据smoker
来判断,这样点的色调和形状将根据不同的标准进行绘制。
sns.relplot(x='total_bill', y='tip', hue='smoker',
style='time', data=tips)
同时修改点的颜色和大小来强调数据差异,sizes参数可以划定点的大小所在的范围,根据需要进行选择。
sns.relplot(x='total_bill', y='tip', col='time', hue='smoker',
size='size', data=tips)