Python 绘制数据散点图

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

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

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

from scipy.io import loadmat
import numpy as np
import matplotlib.pyplot as plt

data  = loadmat(r'C:\Users\Desktop\fourclass.mat')['data']
fig = plt.figure()
ax = fig.add_subplot(111)
idx_1 = np.where(data[:, -1] == 1)
idx_2 = np.where(data[:, -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个,自己综合考虑选择两个代表性的属性分别作为横、纵坐标。

🏳️‍🌈 最后,将创建的散点图显示在画布中,绘制的散点图如下所示:

Python 绘制数据散点图

Original: https://blog.csdn.net/weixin_43252521/article/details/121778708
Author: ReadThroughLife
Title: Python 绘制数据散点图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/763799/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球