预整理前,跑了下代码,调出来十几张图。
总的来说,画图可以借助pandas 里面的一个seaborn库来画图。代码简洁,款式新颖。
-
单变量
seaborn 来画直方图特别好的一点是,它同时能够画出和密度曲线图。
(说起核函数、核密度,在算法里出现太多次,拜读了一个博主的博客,被博主非常规套路折服,等把无监督的机器分类跑完,想用自己的话整理一波核函数的应用) -
1)直方图
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
tips=pd.read_csv('tips.csv')
# 我太懒了,就还是用tips数据集吧
# 这个和之前不一样的是,在创建画布的时候,直接使用subplots创建画布,格式也不一样
hist,ax=plt.subplots()
# 使用seaborn的displot函数绘图
ax=sns.distplot(tips['total_bill'])
ax.set_title('total bill histogram with density plot')
plt.show()
displot 默认会同时绘制直方图和密度图(使用核密度估计法)。 如果只想绘制直方图,可以把kde参数设置为False。像这样:
ax=sns.distplot(tips['total_bill'],kde=False)
同理,如果你只想要核密度曲线图,而不要直方图,那就把hist参数设置成False 就可以了。像这样:
ax=sns.distplot(tips['total_bill'],hist=False)
- 2)频数分布图
直接添加 rug参数=True 即可
hist_den_rug,ax=plt.subplots()
ax=sns.distplot(tips['total_bill'],rug=True)
ax.set_title('total bill histogram with density and rug plot')
ax.set_xlabel('total bill')
plt.show()