# IMPORT MATPLOTLIB FOR PLOTTING AND # NUMPY FOR NUMERICAL FUNCTIONS import matplotlib.pyplot as plt import numpy as np # OPEN UP A FIGURE MyFig=plt.figure(figsize=(12,12)) # LOAD THE DATA FROM THE FILE (TWO EXAMPLES) # this example works for numpy, but you have to # be sure to get the columns right x,y=np.loadtxt('data.dat',usecols=(0,1),unpack=True) # this example works for astropy, and you can ask # for data using column headers #from astropy.io import ascii #data=ascii.read('data.dat',header_start=-2,data_start=0) #x=data['x'] #y=data['y'] # SET UP A MODEL FUNCTION: Ymod = Xmod**2 # xrange=0.1 to 10 in steps of 0.1 xmod=np.arange(0.1,10,0.1) ymod=xmod**2.0 # MAKE A LINEAR PLOT OF THE DATA AND MODEL LinPlot=MyFig.add_subplot(211) LinPlot.set_xlim([0,10]) LinPlot.set_ylim([0,100]) LinPlot.set_xlabel('X [units]') LinPlot.set_ylabel('Y [units]') LinPlot.scatter(x,y,marker='o',color='blue') LinPlot.plot(xmod,ymod,ls=':',color='red') # MAKE A LOG-LOG PLOT OF THE DATA AND MODEL LogPlot=MyFig.add_subplot(212) LogPlot.set_xlim([0,1]) LogPlot.set_ylim([0,2]) LogPlot.set_xlabel('log X [units]') LogPlot.set_ylabel('log Y [units]') LogPlot.scatter(np.log10(x),np.log10(y),marker='x',color='blue') LogPlot.plot(np.log10(xmod),np.log10(ymod),ls=':',color='red') # SAVE THE FIGURE MyFig.savefig('MyFig.png')