Python中如何正确绘制Numpy二维数组的行数据与对应索引关系图
问题原因
- 你创建的数组
a是形状为(1, 1000)的二维数组,plt.plot()接收二维数组时默认按列拆分绘制独立折线,1000列就会生成1000条仅含1个数据点的折线,没有连续线条所以看起来是空图,返回的大量Line2D对象就是这些折线的实例。 - 另外你现有代码中的
mu和sigma未提前定义,直接运行会触发变量未定义报错,需要先给这两个正态分布参数赋值后再运行循环。
解决方法
要实现按行绘制数值与对应索引的关系,只需将单行的二维数组转为一维数组再传入绘图接口即可,两种常用实现方式:
方式1:直接取一维数组绘图
直接提取a的第一行一维数组,x轴会自动匹配0~999的索引:
plt.plot(a[0]) # 非交互环境下需要调用show方法弹出绘图窗口 plt.show()
方式2:显式指定x轴索引
如果需要自定义x轴规则,可手动生成索引数组传入:
# 生成0~999的索引作为x轴 x = np.arange(1000) plt.plot(x, a[0]) plt.show()
内容的提问来源于stack exchange,提问作者MathStat2718
相关产品推荐
相关产品推荐

