基于NumPy数组绘制散点图:以元素行位置为X轴、元素值为Y轴
实现散点图的具体步骤
直接用numpy和matplotlib就能搞定,给你写个完整的可运行代码,每一步都标清楚:
1. 导入依赖库
import numpy as np import matplotlib.pyplot as plt
2. 定义你的数据数组
把你给的片段转成numpy数组:
data = np.array([ [0.99105, 0.96213, 0.96864, 0.96833, 0.96698, 0.97381], [0.99957, 0.99709, 0.9957, 0.9927, 0.98492, 0.98864], [0.9967, 0.98796, 0.9887, 0.98613, 0.98592, 0.99125], [0.9982, 0.99347, 0.98943, 0.96873, 0.91424, 0.83831], [0.9985, 0.99585, 0.99209, 0.98399, 0.97253, 0.97942] ])
3. 设置X轴数据
X轴是1到6,对应每行元素的位置:
x = np.arange(1, 7) # 生成[1,2,3,4,5,6]
4. 绘制散点图
遍历每一行数据,给每组点加不同的样式方便区分,最后加图例:
# 定义不同的标记样式,可选更多样式比如'o', 's', '^', 'D'等 markers = ['o', 's', '^', 'D', 'x'] labels = ['组1', '组2', '组3', '组4', '组5'] for i in range(data.shape[0]): plt.scatter(x, data[i], marker=markers[i], label=labels[i]) # 添加坐标轴标签和标题 plt.xlabel('系数编号(1-6)') plt.ylabel('系数值') plt.title('各系数值分布散点图') # 显示图例 plt.legend() # 显示图形 plt.show()
额外说明
- 每行数据对应一组散点,用不同标记区分,你可以根据需求修改
markers和labels的内容 - 如果需要调整点的大小、颜色,直接在
scatter里加参数,比如s=50设置点大小,color='red'设置颜色 - X轴默认就是1-6的整数刻度,不用额外调整,如果要自定义刻度可以用
plt.xticks()
内容的提问来源于stack exchange,提问作者NAPK1NS
相关产品推荐
相关产品推荐

