我的代码可用于将文件读入数据帧,提取数据并使用for循环绘制子图。
我想读取多个文件并在每个子图中比较相同的文件名等。我已经包含了部分代码。
对于文件中的f: #print(f) #串联文件名(删除图形标题的.txt) fname = os.path.basename(os.path.splitext(f)[0]) print('opening ....',end ='',flush = True) #使用制表符来读取文件,设置各种所需的变量 df = pd.read_csv(f,sep ='\ t',header = 0) lim = df ['Limits'] freq = df ['频率'] MCS = list(df.columns)
print('creating graph......', end='', flush=False)
#Sets subplot settings
f, axarr = plt.subplots(1,8, sharex=False, sharey=True, figsize=(15,15))
t='C'+'0'
#iterates through the MCS columns and plots values vs frequency for each subplot
for index, row in df.iterrows():
if '20MHz' in fname:
axarr[0].scatter(row[0], row[1], color=t)
axarr[1].scatter(row[0], row[2], color=t)
axarr[2].scatter(row[0], row[3], color=t)
axarr[3].scatter(row[0], row[4], color=t)
axarr[4].scatter(row[0], row[5], color=t)
axarr[5].scatter(row[0], row[6], color=t)
axarr[6].scatter(row[0], row[7], color=t)
axarr[7].scatter(row[0], row[8], color=t)
#Sets Horizontal Limit Line
axarr[0].axhline(lim[0], color='r')
axarr[1].axhline(lim[1], color='r')
axarr[2].axhline(lim[2], color='r')
axarr[3].axhline(lim[3], color='r')
axarr[4].axhline(lim[4], color='r')
axarr[5].axhline(lim[5], color='r')
axarr[6].axhline(lim[6], color='r')
axarr[7].axhline(lim[7], color='r')
#Sets Title for each supblot
axarr[0].set_title(MCS[1])
axarr[1].set_title(MCS[2])
axarr[2].set_title(MCS[3])
axarr[3].set_title(MCS[4])
axarr[4].set_title(MCS[5])
axarr[5].set_title(MCS[6])
axarr[6].set_title(MCS[7])
axarr[7].set_title(MCS[8])