0、加载数据并查看
data_path = "path_to_your_data"
your_dataframe = pd.read_csv(data_path, index_col=, parse_dates=)
/*
index_col 将某一列作为index
parse_dates 将某一列设置为时间类型
*/
your_dataframe.head()
1、Line Charts 线段图
设置画布大小和标题:
plt.figure(figsize=(width, heigth))
plt.title("your_title")
绘制线段图:
sns.lineplot(data)
其中data可以是一整个dataframe(data = dataframe)
也可以是dataframe中的某一个columns(data = dataframe["column_name"])
2、Bar Charts 条形图
设置画布大小和标题:
plt.figure(figsize=(width, heigth))
plt.title("your_title")
绘制条形图:
与绘制线段图不同的是,绘制条形图时需要指定xy轴,一般将dataframe.index作为x轴
sns.barplot(x = your_data.index, y = your_data["column_name"])
ps:条形图barcharts和柱状图histogram是不一样的,后续会讲到
3、Heatmaps 热力图
设置画布大小和标题:
plt.figure(figsize=(width, heigth))
plt.title("your_title")
绘制heatmap:
sns.heatmap(data=your_dataframe, annot=True)
annot为True表示在热力图上显示具体的数值,False则不显示
生成的热力图的x轴是没有label的,因此需要额外补充一下x轴的label:
plt.xlabel('label_name')
4、Scatter plots 散点图
绘制散点图:
sns.scatterplot(x = your_dataframe['column1_name'], y = your_dataframe['column2_name'])
绘制回归散点图:
sns.regplot(x = your_dataframe['column1_name'], y = your_dataframe['column2_name'])
根据某个指标,以不同的颜色区分散点图:
sns.scatterplot(x = your_dataframe['column1_name'], y = your_dataframe['column2_name'], hue = your_dataframe['column3_name'])
进一步,希望区分后的散点图能有两条回归线(多回归散点图):
sns.lmplot(x = 'column1', y = 'column2', hue = 'column3', data = your_dataframe)
分类图 —— 以某一指标区分另一指标(categorical scatter plot)
sns.swarmplot(x = your_dataframe['column1_name'], y = your_dataframe['column2_name'])
5、Distributions 分布图
直方图/柱状图查看dataframe某一列的分布
sns.histplot(dataframe['column_name'])
可以添加hue参数,进一步区分,但要指定x轴
sns.histplot(data=your_dataframe, x='column1_name', hue = 'column2_name')
ps:直方图/柱状图和条形图的区别在于,Histogram用于显示连续变量的分布情况,例如数据的频率分布,条形之间是连续的,没有间隔,且顺序不能更改。而Bar Chart用于显示离散变量的数据,每个类别之间通常有一定的间隔,顺序可以更改
密度图 (kde —— kernel density estimate)
sns.kdeplot(data = your_dataframe['column_name'], shade=True)
同样可以添加hue参数,进一步区分,但要指定x轴
sns.kdeplot(data=your_dataframe, x='column1_name', hue = 'column2_name')
2D密度图 (可以理解为等高线图)
sns.jointplot(x = dataframe['column1_name'], y = dataframe['column2_name'], kind = "kde")
总结
数据可视化可以分为三个方面的用途:
1、查看数据的趋势
线段图
2、查看数据之间的关系
条形图、热力图、散点图、回归散点图、多回归散点图、分类图
3、查看数据的分布
直方图/柱状图、密度图、联合密度图