Python 绘制数据散点图

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路Python 绘制数据散点图,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

🏳️‍🌈Python 有着强大的绘图库 matplotlib, 该库集成了大量的绘图函数,可以满足我们平时绝大多数的绘图需求。其中,matplotlib 库是 Python 进行可视化功能的主要软件包,matplot 本是 matlab 中的绘图库,matplotlib 其实就是在 Python 实现 matplot 的功能。

🏳️‍🌈利用 Python 绘制散点图与在 matlab 中操作类似,以数据集 fourclass 为例(数据集的获取方式见文章 Python 对数据集进行归一化处理并存储为 mat 格式的文件

🏳️‍🌈样本的两个属性值作为在平面图中的二维坐标,根据样本的标签值给散点相应的颜色,代码如下:

from scipy.io import loadmat  #导入 loadmat, 用于对 mat 格式文件进行操作
import numpy as np
import matplotlib.pyplot as plt  #导入绘图操作用到的库

#读取数据得到一个字典类型数据,需要根据键名 ’data‘ 取出对应的值。
data  = loadmat(r'C:\Users\Desktop\fourclass.mat')['data']
fig = plt.figure()  # 创建画布
ax = fig.add_subplot(111)
idx_1 = np.where(data[:, -1] == 1)  # 找出标签为1的样本
idx_2 = np.where(data[:, -1] == -1)  # 找出标签为-1的样本
#绘制散点图
p1 = ax.scatter(data[idx_1, 0], data[idx_1, 1], marker='.', color='black', s=8)
p2 = ax.scatter(data[idx_2, 0], data[idx_2, 1], marker='.', color='red', s=8)
plt.show()   #显示散点图

🏳️‍🌈首先,创建一个画布,然后再调用add_subplot() 函数,111 表示这个画布中,第一行第一列中的第一个子图,add_subplot(111) 就是在创建的画布中创建第一个子图,这个子图在第一行第一列,一般只画一个图就使用 111 就可以了。

🏳️‍🌈其次,根据样本的标签找出对应的样本。fourclass 数据集是二分类数据集,如果你使用的是其他数据集,有 N 个分类,可以依此类推设置 idx_N = np.where(data[:, -1] == N) # 找出第N类

🏳️‍🌈然后,绘制散点图。以 p1 所在行的代码为例,ax.scatter() 函数第一个参数 data[idx_1, 0] 是样本的横坐标,第二个参数 data[idx_1, 1] 是样本的纵坐标,marker 表示散点的形状, color 表示颜色参数,s 表示散点的像素大小。值得注意的是,这里所绘制的散点图是二维的,碰巧我们使用的数据集也是只有两个条件属性,可以比较好的刻画样本的分布,如果你使用的数据集的条件属性大于2个,自己综合考虑选择两个代表性的属性分别作为横、纵坐标。

🏳️‍🌈最后,将创建的散点图显示在画布中,绘制的散点图如下所示:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/157080.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!