0
我写道,从文本文件导入列,并绘制他们这样的代码:进口和情节数据没有太多的线条
import os
import numpy as np
import matplotlib.pyplot as plt
dataset = np.genfromtxt(fname='filename.dat')
x=dataset[:,3] # column select
y=dataset[:,2]
plt.semilogx()
#plt.semilogy()
plt.xlabel('x')
plt.ylabel('y')
plt.title ('title')
plt.plot(x, y, color='red', linewidth=1)
plt.show()
的问题是,我会积有更多filename.dat (总是在每个filename.dat中的第3列和第2列)。 目前,我有23个文件名。我想在同一个情节一起绘制所有。这些filename.dat被命名为:
filename01.dat
filename02.dat
...
filename23.dat
我知道我可以重写线:
dataset_ = np.genfromtxt(fname='filename_.dat')
x_=dataset_[:,3]
y_=dataset_[:,2]
# where '_' is the number of each filename.dat
plt.plot(x_, y_, color='red', linewidth=1)
对于每个filename.dat,但有一个更快,更实用的方式(与np.genfromtxt和put.plot)不重写相同的行23次?
更新:我也想每个文件的颜色不同。
您应该使用水珠收集的确切文件:'import glob' then'glob.glob('filename * .dat')'。 – jack6e
好的,但如果我想为每个文件使用不同的颜色? –
您可以创建一个'color_palette',但我不知道是否可以使用任何默认值的23种颜色。如果你知道你想要什么颜色,你可以生成23种颜色的“列表”,然后使用'for i,enumerate(文件名)文件',这样你就可以在循环中选择列表中的相对颜色为'color = color_list [i]',然后将该颜色传递给您的绘图命令。 – jack6e