Plot plain figures ============== Usage: python plot.py [filename] column_x column_y1 [column_y2 ...] plot.py for plot data and save fig ---------------------------------- :: #lipai@mail.ustc.edu.cn import sys import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams['agg.path.chunksize']=10000 arg_num=len(sys.argv) if arg_num==1: print("no inputs!!!\n") exit() filename=sys.argv[1] data=np.loadtxt(filename,skiprows=1) colors=['k','r','g','b','c','m'] labels=['DFT','NN'] plt.figure(figsize=(10,4)) if arg_num==2: plt.plot(data[:,0],data[:,1]) elif arg_num>3: yn=arg_num-3 if int(sys.argv[2]) == 0: # x=np.arange(data.shape) # else: # x=np.arange(data.shape[0]) x=np.arange(list(data.shape)[0]) for i in range(yn): if i==0: alpha=1 else: alpha=0.7 if len(data.shape)==1: plt.plot(x,data[:],color=colors[i],linewidth=2,label=labels[i],alpha=alpha) else: plt.plot(x,data[:,int(sys.argv[i+3])-1],color=colors[i],linewidth=2,label=labels[i],alpha=alpha) else: for i in range(yn): plt.plot(data[:,int(sys.argv[2])-1],data[:,int(sys.argv[i+3])-1],color=colors[i],linewidth=2,label=labels[i]) else: print("wrong input arguments") plt.ylabel('Energy/eV') #plt.ylim(0,5) #plt.axhline(0) plt.legend(loc=0) plt.savefig("temp.jpg",dpi=300) #plt.savefig("temp.jpg") #plt.show()