python机器学习数据预处理之常用的数据可视化方法

本节会介绍数据处理过程中经常用到的可视化方法,主要涉及了python的matplotlib库

既然要画图,首先需要生成一张画布,使用内置的subplot方法生成一张画布,其中,返回值有两个,分别是fig和axs。其中:

fig:是一个 Figure 对象,代表整个图表,它是顶级容器。在这个图表中,你可以添加、修改或移除子图,调整图的大小和布局等。

axs:是一个包含多个 Axes 对象的二维数组(即具有行和列的网格布局),它代表了图表中的每一个子图。可以通过索引 axs[row_index][col_index] 来访问特定的子图。

#先生成多个画布,这里是2*2的
fig,axs=plt.subplots(2,2)

 

在下面的案例中,介绍了几种最常用的画图方式:

plot方法:绘制折线图

scatter方法:绘制散点图

bar方法:绘制条形图

pie方法:绘制饼图

show方法:展示图片

在这里,先掌握最基本的使用方法,在本文的后半部分,会介绍每个方法传入的实际参数

#对每个画布单独进行画图操作
#用plot绘制折线图
axs[0][0].plot([1,2,3,4,5],[6,7,8,9,10])
#用scatter绘制散点图
axs[0][1].scatter([1,2,3,4,5],[6,7,8,9,10])
#用bar绘制柱状图
x=np.random.randint(0,10,10)
y=np.arange(10)
axs[1][0].bar(x,y)
#用pie绘制饼图
label=['A','B','C','D','E']
axs[1][1].pie([10,12,14,15,13],labels=label)
plt.show()

结果如图所示:

下面,我们再来写一组绘图函数,在这组代码中,会详细介绍每个函数常用的实际传入参数:

 首先,仍然生成2*2的图形窗格,这里,我们先给整个画布确定标题,方法如下:

fig,axs=plt.subplots(2,2)
fig.suptitle('案例演示')
plt.show()

下面,我们在axs[0][0]这个区域用plot画一个图,并设置参数

axs[0][0].plot([1,2,3,4,5],[5,4,3,2,1],color='red')
axs[0][0].set_title('折线图')
axs[0][0].set_xlabel('横坐标')
axs[0][0].set_ylabel('纵坐标')
plt.show()

在axs[0][1]区域用scatter画一个图,并设置参数

#alpha:设置散点的不透明度
axs[0][1].scatter([1,2,3,4,5],[3,4,2,5,1],color='black',alpha=0.5)
axs[0][1].set_title('散点图')
axs[0][1].set_xlabel('横坐标')
axs[0][1].set_ylabel('纵坐标')
plt.show()

在axs[1][0]用bar画一个图,并设置相应参数:

#width:调整柱子的宽度
axs[1][0].bar([1,2,3,4,5],[3,4,2,5,1],color='black',width=0.5)
axs[1][0].set_title('柱形图')
axs[1][0].set_xlabel('横坐标')
axs[1][0].set_ylabel('纵坐标')
plt.show()

在区域axs[1][1]画一个饼图,同时设置参数

#labels:设置饼图标签
#explode:设置分离度,(0,0,0,0.2,0)表示第四个位置的分离0.2
#autopct='&1.1f%%'表示显示百分数,并保留一位小数
axs[1][1].pie([1,2,3,4,5],labels=['A','B','C','D','E'],explode=(0,0,0,0.2,0),autopct='%1.1f%%')
axs[1][1].set_title('饼图')
axs[1][1].set_xlabel('横坐标')
axs[1][1].set_ylabel('纵坐标')
plt.show()

整体测试代码如下:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#设置默认使用中文字体

#先生成多个画布,这里是2*2的
# fig,axs=plt.subplots(2,2)
#对每个画布单独进行画图操作
#用plot绘制折线图
# axs[0][0].plot([1,2,3,4,5],[6,7,8,9,10])
# #用scatter绘制散点图
# axs[0][1].scatter([1,2,3,4,5],[6,7,8,9,10])
# #用bar绘制柱状图
# x=np.random.randint(0,10,10)
# y=np.arange(10)
# axs[1][0].bar(x,y)
# #用pie绘制饼图
# label=['A','B','C','D','E']
# axs[1][1].pie([10,12,14,15,13],labels=label)
# plt.show()

# fig,axs=plt.subplots(2,2)
# fig.suptitle('案例演示')
# plt.show()

# axs[0][0].plot([1,2,3,4,5],[5,4,3,2,1],color='red')
# axs[0][0].set_title('折线图')
# axs[0][0].set_xlabel('横坐标')
# axs[0][0].set_ylabel('纵坐标')
# plt.show()

#alpha:设置散点的不透明度
# axs[0][1].scatter([1,2,3,4,5],[3,4,2,5,1],color='black',alpha=0.5)
# axs[0][1].set_title('散点图')
# axs[0][1].set_xlabel('横坐标')
# axs[0][1].set_ylabel('纵坐标')
# plt.show()

# #width:调整柱子的宽度
# axs[1][0].bar([1,2,3,4,5],[3,4,2,5,1],color='black',width=0.5)
# axs[1][0].set_title('柱形图')
# axs[1][0].set_xlabel('横坐标')
# axs[1][0].set_ylabel('纵坐标')
# plt.show()

#labels:设置饼图标签
#explode:设置分离度,(0,0,0,0.2,0)表示第四个位置的分离0.2
#autopct='&1.1f%%'表示显示百分数,并保留一位小数
# axs[1][1].pie([1,2,3,4,5],labels=['A','B','C','D','E'],explode=(0,0,0,0.2,0),autopct='%1.1f%%')
# axs[1][1].set_title('饼图')
# axs[1][1].set_xlabel('横坐标')
# axs[1][1].set_ylabel('纵坐标')
# plt.show()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值