Matplotlib
两种作图方式:
# 状态接口
fig, ax = plt.subplots(figsize=(15,3)) #创建坐标轴对象
ax.plot(x, y) #调用坐标轴的绘图方法
ax.set_xlim(-4, 8) # 调用坐标轴的设置x轴上下限的方法
ax.set_ylim(0, 11)
ax.set_xlabel('X axis') # 调用坐标轴的设置x轴标签的方法
ax.set_ylabel('Y axis',size = 20) # 调用坐标轴的设置y轴标签的方法
ax.set_title('Line Plot',size = 30) # 调用坐标轴的设置标题的方法
plt.show()
# 面向对象
fig, ax = plt.subplots(figsize=(15,3)) #创建坐标轴对象
ax.plot(x, y) #调用坐标轴的绘图方法
ax.set_xlim(-4, 8) # 调用坐标轴的设置x轴上下限的方法
ax.set_ylim(0, 11)
ax.set_xlabel('X axis') # 调用坐标轴的设置x轴标签的方法
ax.set_ylabel('Y axis',size = 20) # 调用坐标轴的设置y轴标签的方法
ax.set_title('Line Plot',size = 30) # 调用坐标轴的设置标题的方法
plt.show()
直方图、散点图代码
fig = plt.figure()
axes1 = fig.add_subplot(1,1,1)
axes1.hist(tips['total_bill'],bins = 10)
# axes1.scatter(tips['total_bill'],tips['tip']) 散点图关键代码
axes1.set_title('Histogram of Total Bill')
axes1.set_xlabel('total bill')
axes1.set_ylabel('freq')
多变量数据画图(散点图)部分代码
scatter = axes1.scatter(x = tips['total_bill'],y=tips['tip'],s = tips['size']*10,c=tips['sex_color'],alpha = 0.5)
legend1 = axes1.legend(*scatter.legend_elements(), loc="upper left", title="性别") # 设置图例
axes1.add_artist(legend1) # 添加图例
Pandas
名称 | 方法名 | 说明 |
---|---|---|
柱状图 | plot.bar() | figsize=(16,9)画布宽高 color=[]/fontsize=12 subplots=True, layout=(2, 2) 有4个子图,布局2*2 |
折线图 | plot.line() | 反应趋势 |
直方图 | plot.hist() | 常用来展示没有数据倾斜的数据分布情况 |
饼图 | plot.pie() | |
散点图 | plot.scatter() | 常用参数:x/y |
蜂巢图 | plot.hexplot | 常用参数:x/y/gridsize=15 蜂巢大小 |
修改x、y轴的标签和字体
# 创建绘图区域和坐标轴
fig, axes = plt.subplots(ncols=1, figsize = (20,10))
# 使用pandas 在指定坐标轴内绘图
reviews[reviews['price'] < 100].sample(100).plot.scatter(x='price', y='points',figsize=(14,8),fontsize = 16,ax = axes)
# 通过坐标轴修改x y 标签内容和字体大小
axes.set_xlabel('price',fontdict={'fontsize':16})
Seaborn
单变量
名称 | 方法名 | 关键参数 |
---|---|---|
直方图 | displot | x/kde/rug kde 核密度估计 rug 频数 |
计数图 | countplot | x/data |
双变量
名称 | 方法名 | 关键参数 |
---|---|---|
散点图 | scatterplot | x/y/data |
散点图带回归线 | regplot/lmplot | x/y/data |
散点图带直方图 | jointplot | x/y/data |
蜂巢图带直方图 | jointplot | x/y/data/kind=‘hex’ |
条形图 | barplot | x/y/data/orient=‘h’ orient='h’表示横向条形图 |
箱线图 | boxplot | x/y/data |
变量两两之间关系图 | pairplot | x/y/data |
箱线图统计的数据说明:最小值,¼分位,中位数,¾分位,最大值,以及离群值
多变量
名称 | 方法名 | 关键参数 |
---|---|---|
散点图 | scatterplot/lmplot | x/y/hue/data |
小提琴图 | violinplot | x/y/hue/data/split |
变量两两之间关系图 | pairplot | x/y/hue/data |
对于pairplot,存在冗余信息,上半部分下半部分相同,用如下方法手动指定上半部分、下半部分和对角线分别用什么图
pair_grid = sns.PairGrid(tips) pair_grid.map_upper(sns.regplot) pair_grid.map_lower(sns.kdeplot) pair_grid.map_diag(sns.histplot)
心得:数据可视化部分涉及的方法和参数很多,需要多去使用,多去查阅资料才可牢记于心,可以再jupyter中通过方法名?
的方式查看方法和参数说明,用的时候需灵活使用