我需要在python中绘制10条不同颜色的痕迹,每条痕迹都在不同的文件中,扩展名相同.numpy。,我的意思是我有10个文件:
trace1
trace2
trace3
trace4
trace5
trace6
trace7
trace8
trace9
trace10
这是我的代码,只绘制一条迹线:
import matplotlib.pyplot as plt
import numpy as np
dataArray= np.load(r'/home/user/trace1.npy')
print(dataArray)
plt.plot(dataArray.T)
plt.show()
根据你的说法,我必须将所有这些文件放在同一个文件中吗?为了绘制它们?
提前致谢。
答案 0 :(得分:0)
不,您不必将所有内容放在同一个文件中。您可以简单地循环遍历文件列表并绘制到相同的axes
。对于颜色,如果您只是抓取colormap
的颜色,这是最简单的。这是一个小例子:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
# Read in list of files. You might want to look into os.listdir()
traces=[list of filepaths to your .npy files]
# Create figure
fig=plt.figure()
fig.show()
ax=fig.add_subplot(111)
# Grab colormap
cmap = matplotlib.cm.get_cmap('jet')
# Loop through traces and plot them
for j,trace in enumerate(traces):
# Load file
dataArray= np.load(trace)
# Grab color
c=cmap(float(j)/len(traces))
# Plot
ax.plot(dataArray.T,color=c)
plt.show()