rd.setpars() #this just sets some standard parameters, e.g. tex # if user asked for help we print help message and exit if mode.help: sub.help_me_spec() filename = store.filename # read the spec file spectrum = rd.read_spec_file (filename) # we now want to smooth our spectrum smooth = store.ibin sub.smooth_spectrum(spectrum, smooth) # now plot up fig=plt.figure(figsize=(8.3,11.7),dpi=80) fig.suptitle(fname,fontsize=24,fontweight='bold') fig.subplots_adjust(hspace=0.3,wspace=0.2) ax.plot(spectrum.wavelength, spectrum.spec[0]) plt.show() '''
def plot_spec (filename, lmin, lmax, smooth = 1, nobs = 0, use = [], \ savename = "fig", yscale = "linear", xscale = "linear" , \ sources = False, Fnu = False): ''' Function for plotting a spec file outputted from the radiative transfer code PYTHONRT :INPUT: filename string name of file lmin, lmax float wavelength range in ANGSTROMS nobs int number of observes smooth int smoothing factor use array which observations to use savename string yscale, xscale string lin or log scale sources Bool Plot sources or not Fnu Bool Is it an Fnu plot? :OUTPUT: Creates plot and opens in preview ''' # default savename is filename if savename == "fig": savename = filename + ".png" # create spec class from spec file spec = rd.read_spec_file(filename) if nobs == 0: nobs = len(spec.spec) # strip filenames of funny characters that TeX complains about savename = strip("_", savename) filename = strip("_", filename) # default argument is to plot all observations if len(use) == 0: use = np.arange(nobs) nuse = int(len(use)) # work out the dimensions of the plot if nuse < 3: ny = nuse nx = 1 else: nx = 2 ny = (len(use) + 1) / 2 # do we want to smooth? if so, do it! if smooth > 1: for i in use: sub.smooth_spectrum( spec, smooth ) # now create figure fig=plt.figure(figsize=(8.3,11.7),dpi=80) fig.suptitle(filename,fontsize=24,fontweight='bold') fig.subplots_adjust(hspace=0.3,wspace=0.2) for i in range(nuse): ax = fig.add_subplot( ny, nx, i) if Fnu: ax.plot(spec.freq, spec.spec[use[i]]) else: ax.plot(spec.wavelength, spec.spec[use[i]]) ax.set_yscale(yscale) ax.set_xscale(xscale) plt.xlim(lmin, lmax) plt.savefig(savename) command = "open -a preview %s" % savename os.system(command) if sources: fig=plt.figure(figsize=(8.3,11.7),dpi=80) fig.suptitle(filename,fontsize=24,fontweight='bold') fig.subplots_adjust(hspace=0.3,wspace=0.2) return 0