【发布时间】:2016-12-12 20:10:29
【问题描述】:
我是 Python 新手,正在努力使用 matplotlib 在一张图上绘制多条曲线。
我有 50 个数据文件。我已将它们全部阅读并将它们存储在 3D numpy 列表中。第一维是文件号,第二维是时间,第三维是被测量的参数(时间,压力,...)。对于单个文件,数据可能如下所示:
(时间)(压力) 1 3.4 2 5.1 3 5.1 4 5.1 5 7.8
我想在一张图上绘制所有 50 时间与压力的曲线。到目前为止我所拥有的是:
plt.plot(\
clipData[0,:,0], clipData[0,:,1],\
clipData[1,:,0], clipData[1,:,1],\
clipData[2,:,0], clipData[2,:,1])
plt.show()
这对于前三条曲线效果很好,但我认为必须有一种方法可以做到这一点,而无需手动将列表生成到 50 个。我考虑过使用循环将列表构建为长字符串,然后推将此字符串放入 plot()。
guts = 'clipData[0,:,0], clipData[0,:,1]'
plt.plot(guts)
plt.show
但我的简单测试清楚地表明我做错了什么。
任何帮助将不胜感激,我相信有一种优雅的方式可以做到这一点。
【问题讨论】:
标签: python arrays matplotlib