子图-如何添加多行?

时间:2019-06-03 21:16:56

标签: python matplotlib subplot

我的代码可用于将文件读入数据帧,提取数据并使用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])

0 个答案:

没有答案