import matplotlib.pyplot as pltimport numpy as npimport argparsefrom formatlist import assignformatfrom plotfunctions import addline, setfigform, getmaxmin, readcontextif __name__ == "__main__":# labellist = ["100K", "200K", "300K", "400K"]labellist = ["sys4", "sys5", "sys6", "sys7"]# labellist = ["sys0", "sys1", "sys2", "sys3"]parser = argparse.ArgumentParser(description='Figure texts')parser.add_argument('--title', type=str, default='', help='titile of the figure')parser.add_argument('--skip', type=int, default=0, help='skip columes')parser.add_argument('--skip_first_line', type=bool, default=True, help="skip first line")parser.add_argument('--num_y', type=int, default=1, help="number of y")parser.add_argument('--xlabel', type=str, default="x", help="xlabel")parser.add_argument('--ylabel', type=str, default="y", help="ylabel")parser.add_argument('INPUT', type=str, nargs = "+",help="input file")parser.add_argument('--format', type=str, default='line-dot', help="Format of plots: line, line-dot, dot")args = parser.parse_args()formatindicator = args.formatinputfile = args.INPUT# num_y = args.num_ynum_y = 5skip_first_line = args.skip_first_line# skip_y = args.skipx = []y = []for f in inputfile:fin = open(f, "r")context = fin.readlines()if skip_first_line:context.pop(0)x0, y0 = readcontext(context, num_y = 5, skip_y = 0)x1 = []y1 = []for idata in range(len(x0)):x_ = np.sqrt(x0[idata]*x0[idata] + y0[0][idata]*y0[0][idata] + y0[1][idata]*y0[1][idata])y_ = np.sqrt(y0[2][idata]*y0[2][idata] + y0[3][idata]*y0[3][idata] + y0[4][idata]*y0[4][idata])x1.append(x_)y1.append(y_)x.append(x1)y.append(y1)ptr = 0for i_file in range(len(x)):# print(x[i_file])# for yi in y[i_file]:# print(yi)# print("\n")form = assignformat[formatindicator]addline(x[i_file],y[i_file], form[ptr], labellist[i_file], formatindicator=formatindicator)ptr += 1maxxlist = []minxlist = []maxylist = []minylist = []for i_file in range(len(x)):max_x, min_x = getmaxmin(x[i_file])max_y, min_y = getmaxmin(y[i_file])maxxlist.append(max_x)minxlist.append(min_x)maxylist.append(max_y)minylist.append(min_y)max_x = max(maxxlist)min_x = min(minxlist)max_y = max(maxylist)min_y = min(minylist)print((min_x, min_y))print((max_x, max_y))xtickList = (max_x-min_x) * np.arange(0, 1, 0.4) + min_xytickList = (max_y-min_y) * np.arange(0, 1, 0.2) + min_ysetfigform(xtickList, ytickList, xlabel = args.xlabel, ylabel = args.ylabel, title = args.title)# add diagonal lineplt.plot((min_x, max_x), (min_y, max_y), ls="--", c="k")plt.savefig("fig")plt.show()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。