def flux_chart(file_name, plotaxis, plot_type, which_flux=None,<EOL>I_am_the_target=None, prange=None):
import numpy as np<EOL>import matplotlib.pyplot as plt<EOL>from matplotlib import colors,cm<EOL>from matplotlib.patches import Rectangle, Arrow<EOL>from matplotlib.collections import PatchCollection<EOL>from matplotlib.offsetbox import AnchoredOffsetbox, TextArea<EOL>import sys<EOL>print_max_flux_in_plot =  True<EOL>f = open(file_name)<EOL>lines = f.readline()<EOL>lines = f.readlines()<EOL>f.close()<EOL>coord_x_1 = []<EOL>coord_y_1 = []<EOL>coord_x_2 = []<EOL>coord_y_2 = []<EOL>coord_x_3 = []<EOL>coord_y_3 = []<EOL>flux_read = []<EOL>flux_log10 = []<EOL>if which_flux == None or which_flux == <NUM_LIT:0>:<EOL><INDENT>print('<STR_LIT>')<EOL>line_to_read = <NUM_LIT:9><EOL><DEDENT>elif which_flux == <NUM_LIT:1>:<EOL><INDENT>print('<STR_LIT>')<EOL>line_to_read = <NUM_LIT:10><EOL><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>print('<STR_LIT>')<EOL>line_to_read = <NUM_LIT:11><EOL><DEDENT>elif which_flux > <NUM_LIT:2>:<EOL><INDENT>print("<STR_LIT>")<EOL><DEDENT>single_line = []<EOL>for i in range(len(lines)):<EOL><INDENT>single_line.append(lines[i].split())<EOL>coord_y_1.append(float(single_line[i][<NUM_LIT:1>]))<EOL>coord_x_1.append(float(single_line[i][<NUM_LIT:2>])-coord_y_1[i])<EOL>coord_y_2.append(float(single_line[i][<NUM_LIT:5>]))<EOL>coord_x_2.append(float(single_line[i][<NUM_LIT:6>])-coord_y_2[i])<EOL>coord_y_3.append(float(single_line[i][<NUM_LIT:7>]))<EOL>coord_x_3.append(float(single_line[i][<NUM_LIT:8>])-coord_y_3[i])<EOL>try:<EOL><INDENT>flux_read.append(float(single_line[i][line_to_read]))<EOL><DEDENT>except ValueError: <EOL><INDENT>flux_read.append(<NUM_LIT>)<EOL><DEDENT>flux_log10.append(np.log10(flux_read[i]+<NUM_LIT>))<EOL><DEDENT>print('<STR_LIT>')<EOL>coord_y_1_small=[]<EOL>coord_x_1_small=[]<EOL>coord_y_2_small=[]<EOL>coord_x_2_small=[]<EOL>coord_y_3_small=[]<EOL>coord_x_3_small=[]<EOL>flux_log10_small = []<EOL>for i in range(len(flux_log10)):<EOL><INDENT>I_am_in = <NUM_LIT:0><EOL>if coord_y_1[i] > plotaxis[<NUM_LIT:2>] and coord_y_1[i] < plotaxis[<NUM_LIT:3>] and coord_x_1[i] > plotaxis[<NUM_LIT:0>] and coord_x_1[i] < plotaxis[<NUM_LIT:1>]:<EOL><INDENT>I_am_in = <NUM_LIT:1><EOL>coord_y_1_small.append(coord_y_1[i])<EOL>coord_x_1_small.append(coord_x_1[i])<EOL>coord_y_2_small.append(coord_y_2[i])<EOL>coord_x_2_small.append(coord_x_2[i])<EOL>coord_y_3_small.append(coord_y_3[i])<EOL>coord_x_3_small.append(coord_x_3[i])<EOL>flux_log10_small.append(flux_log10[i])<EOL><DEDENT>if coord_y_3[i] > plotaxis[<NUM_LIT:2>] and coord_y_3[i] < plotaxis[<NUM_LIT:3>] and coord_x_3[i] > plotaxis[<NUM_LIT:0>] and coord_x_3[i] < plotaxis[<NUM_LIT:1>] and I_am_in == <NUM_LIT:0>:<EOL><INDENT>I_am_in = <NUM_LIT:1><EOL>coord_y_1_small.append(coord_y_1[i])<EOL>coord_x_1_small.append(coord_x_1[i])<EOL>coord_y_2_small.append(coord_y_2[i])<EOL>coord_x_2_small.append(coord_x_2[i])<EOL>coord_y_3_small.append(coord_y_3[i])<EOL>coord_x_3_small.append(coord_x_3[i])<EOL>flux_log10_small.append(flux_log10[i])<EOL><DEDENT><DEDENT>if plot_type == <NUM_LIT:1>:<EOL><INDENT>print('<STR_LIT>',I_am_the_target)<EOL><DEDENT>ilabel = <NUM_LIT:1><EOL>imlabel = <NUM_LIT:1><EOL>imagic = <NUM_LIT:0><EOL>if prange == None:<EOL><INDENT>print('<STR_LIT>')<EOL>prange = <NUM_LIT><EOL><DEDENT>max_flux = max(flux_log10)<EOL>ind_max_flux = flux_log10.index(max_flux)<EOL>max_flux_small = max(flux_log10_small)<EOL>min_flux = min(flux_log10)<EOL>ind_min_flux = flux_log10.index(min_flux)<EOL>min_flux_small = min(flux_log10_small)<EOL>nzmax = int(max(max(coord_y_1_small),max(coord_y_2_small),max(coord_y_3_small)))+<NUM_LIT:1><EOL>nnmax = int(max(max(coord_x_1_small),max(coord_x_2_small),max(coord_x_3_small)))+<NUM_LIT:1><EOL>nzycheck = np.zeros([nnmax,nzmax,<NUM_LIT:3>])<EOL>coord_x_out = np.zeros(len(coord_x_2_small))<EOL>coord_y_out = np.zeros(len(coord_y_2_small))<EOL>for i in range(len(flux_log10_small)):<EOL><INDENT>nzycheck[coord_x_1_small[i],coord_y_1_small[i],<NUM_LIT:0>] = <NUM_LIT:1><EOL>nzycheck[coord_x_1_small[i],coord_y_1_small[i],<NUM_LIT:1>] = flux_log10_small[i]<EOL>if coord_x_2_small[i] >= coord_x_3_small[i]:<EOL><INDENT>coord_x_out[i] = coord_x_2_small[i]<EOL>coord_y_out[i] = coord_y_2_small[i]<EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:0>] = <NUM_LIT:1><EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:1>] = flux_log10_small[i]<EOL><DEDENT>elif coord_x_2_small[i] < coord_x_3_small[i]:<EOL><INDENT>coord_x_out[i] = coord_x_3_small[i]<EOL>coord_y_out[i] = coord_y_3_small[i]<EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:0>] = <NUM_LIT:1><EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:1>] = flux_log10_small[i]<EOL><DEDENT>if which_flux == None or which_flux < <NUM_LIT:2> and flux_log10_small[i]>max_flux_small-prange:<EOL><INDENT>nzycheck[coord_x_1_small[i],coord_y_1_small[i],<NUM_LIT:2>] = <NUM_LIT:1><EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:2>] = <NUM_LIT:1><EOL><DEDENT>elif which_flux == <NUM_LIT:2> and flux_log10_small[i]<min_flux_small+prange:<EOL><INDENT>nzycheck[coord_x_1_small[i],coord_y_1_small[i],<NUM_LIT:2>] = <NUM_LIT:1><EOL>nzycheck[coord_x_out[i],coord_y_out[i],<NUM_LIT:2>] = <NUM_LIT:1><EOL><DEDENT><DEDENT>elname= ('<STR_LIT:none>','<STR_LIT:H>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT:B>','<STR_LIT:C>','<STR_LIT:N>','<STR_LIT:O>','<STR_LIT:F>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT:P>','<STR_LIT:S>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>',<EOL>'<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT:Y>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT:I>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>',<EOL>'<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>','<STR_LIT>')<EOL>if plotaxis==[<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>]:<EOL><INDENT>xdim=<NUM_LIT:10><EOL>ydim=<NUM_LIT:6><EOL><DEDENT>else:<EOL><INDENT>dx = plotaxis[<NUM_LIT:1>]-plotaxis[<NUM_LIT:0>]<EOL>dy = plotaxis[<NUM_LIT:3>]-plotaxis[<NUM_LIT:2>]<EOL>ydim = <NUM_LIT:6><EOL>xdim = ydim*dx/dy<EOL><DEDENT>format = '<STR_LIT>'<EOL>params = {'<STR_LIT>':  <NUM_LIT:15>,<EOL>'<STR_LIT>':   <NUM_LIT:15>,<EOL>'<STR_LIT>': <NUM_LIT:15>,<EOL>'<STR_LIT>': <NUM_LIT:15>,<EOL>'<STR_LIT>': <NUM_LIT:15>,<EOL>'<STR_LIT>': False}<EOL>plt.rcParams.update(params)<EOL>fig=plt.figure(figsize=(xdim,ydim),dpi=<NUM_LIT:100>)<EOL>axx = <NUM_LIT><EOL>axy = <NUM_LIT><EOL>axw = <NUM_LIT><EOL>axh = <NUM_LIT><EOL>ax=plt.axes([axx,axy,axw,axh])<EOL>cmapa = cm.jet<EOL>if which_flux == None or which_flux < <NUM_LIT:2>:<EOL><INDENT>cmapr = cm.autumn<EOL><DEDENT>elif  which_flux == <NUM_LIT:2>:<EOL><INDENT>cmapr = cm.autumn_r<EOL><DEDENT>cmapa.set_under(color='<STR_LIT:w>')<EOL>cmapr.set_under(color='<STR_LIT:w>')<EOL>norma = colors.Normalize(vmin=-<NUM_LIT:20>,vmax=<NUM_LIT:0>)<EOL>ax.set_aspect('<STR_LIT>')<EOL>f = open('<STR_LIT>')<EOL>head = f.readline()<EOL>stable = []<EOL>for line in f.readlines():<EOL><INDENT>tmp = line.split()<EOL>zz = int(tmp[<NUM_LIT:2>])<EOL>nn = int(tmp[<NUM_LIT:3>])<EOL>xy = nn-<NUM_LIT:0.5>,zz-<NUM_LIT:0.5><EOL>rect = Rectangle(xy,<NUM_LIT:1>,<NUM_LIT:1>,ec='<STR_LIT:k>',fc='<STR_LIT:None>',fill='<STR_LIT:False>',lw=<NUM_LIT>)<EOL>rect.set_zorder(<NUM_LIT:2>)<EOL>ax.add_patch(rect)<EOL><DEDENT>apatches = []<EOL>acolor = []<EOL>m = old_div(<NUM_LIT>,prange)<EOL>if which_flux == None or which_flux < <NUM_LIT:2>:<EOL><INDENT>vmax=np.ceil(max(flux_log10_small))<EOL>vmin=max(flux_log10_small)-prange<EOL>b=-vmin*m+<NUM_LIT:0.1><EOL><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>vmin=min(flux_log10_small)<EOL>vmax=np.ceil(min(flux_log10_small)+prange)<EOL>b=vmax*m+<NUM_LIT:0.1><EOL><DEDENT>if which_flux == None or which_flux < <NUM_LIT:3>:<EOL><INDENT>normr = colors.Normalize(vmin=vmin,vmax=vmax)<EOL>print('<STR_LIT>',vmin,vmax)<EOL><DEDENT>ymax=<NUM_LIT:0.><EOL>xmax=<NUM_LIT:0.><EOL>for i in range(len(flux_log10_small)):<EOL><INDENT>x = coord_x_1_small[i]<EOL>y = coord_y_1_small[i]<EOL>dx = coord_x_out[i]-coord_x_1_small[i]<EOL>dy = coord_y_out[i]-coord_y_1_small[i]<EOL>if plot_type == <NUM_LIT:0>:<EOL><INDENT>if which_flux == None or which_flux < <NUM_LIT:2>:<EOL><INDENT>if flux_log10_small[i]>=vmin:<EOL><INDENT>arrowwidth = flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>if flux_log10_small[i]<=vmax:<EOL><INDENT>arrowwidth = -flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT><DEDENT><DEDENT>elif plot_type == <NUM_LIT:1> and which_flux != <NUM_LIT:2>:<EOL><INDENT>if x==I_am_the_target[<NUM_LIT:0>] and y==I_am_the_target[<NUM_LIT:1>] and flux_log10_small[i]>=vmin:<EOL><INDENT>arrowwidth = flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT>if x+dx==I_am_the_target[<NUM_LIT:0>] and y+dy==I_am_the_target[<NUM_LIT:1>] and flux_log10_small[i]>=vmin:<EOL><INDENT>arrowwidth = flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT><DEDENT>elif plot_type == <NUM_LIT:1> and which_flux == <NUM_LIT:2>:<EOL><INDENT>if x==I_am_the_target[<NUM_LIT:0>] and y==I_am_the_target[<NUM_LIT:1>] and flux_log10_small[i]<=vmax:<EOL><INDENT>arrowwidth = -flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT>if x+dx==I_am_the_target[<NUM_LIT:0>] and y+dy==I_am_the_target[<NUM_LIT:1>] and flux_log10_small[i]<=vmax:<EOL><INDENT>arrowwidth = -flux_log10_small[i]*m+b<EOL>arrow = Arrow(x,y,dx,dy, width=arrowwidth)<EOL>if xmax<x:<EOL><INDENT>xmax=x<EOL><DEDENT>if ymax<y:<EOL><INDENT>ymax=y<EOL><DEDENT>acol = flux_log10_small[i]<EOL>apatches.append(arrow)<EOL>acolor.append(acol)<EOL><DEDENT><DEDENT>xy = x-<NUM_LIT:0.5>,y-<NUM_LIT:0.5><EOL>rect = Rectangle(xy,<NUM_LIT:1>,<NUM_LIT:1>,ec='<STR_LIT:k>',fc='<STR_LIT:None>',fill='<STR_LIT:False>',lw=<NUM_LIT:1.>)<EOL>rect.set_zorder(<NUM_LIT:2>)<EOL>ax.add_patch(rect)<EOL>xy = x+dx-<NUM_LIT:0.5>,y+dy-<NUM_LIT:0.5><EOL>rect = Rectangle(xy,<NUM_LIT:1>,<NUM_LIT:1>,ec='<STR_LIT:k>',fc='<STR_LIT:None>',fill='<STR_LIT:False>',lw=<NUM_LIT:1.>)<EOL>rect.set_zorder(<NUM_LIT:2>)<EOL>ax.add_patch(rect)<EOL><DEDENT>a = PatchCollection(apatches, cmap=cmapr, norm=normr)<EOL>a.set_array(np.array(acolor))<EOL>a.set_zorder(<NUM_LIT:3>)<EOL>ax.add_collection(a)<EOL>cb = plt.colorbar(a)<EOL>if which_flux == None or which_flux == <NUM_LIT:0>:<EOL><INDENT>cb.set_label('<STR_LIT>')<EOL><DEDENT>elif which_flux ==<NUM_LIT:1>:<EOL><INDENT>cb.set_label('<STR_LIT>')<EOL><DEDENT>elif which_flux ==<NUM_LIT:2>:<EOL><INDENT>cb.set_label('<STR_LIT>')<EOL><DEDENT>graphname = '<STR_LIT>'+format<EOL>iarr = <NUM_LIT:2><EOL>for z in range(nzmax):<EOL><INDENT>try:<EOL><INDENT>nmin = min(np.argwhere(nzycheck[:,z,iarr-<NUM_LIT:2>]))[<NUM_LIT:0>]-<NUM_LIT:1><EOL>ax.text(nmin,z,elname[z],horizontalalignment='<STR_LIT>',verticalalignment='<STR_LIT>',fontsize='<STR_LIT>',clip_on=True)<EOL><DEDENT>except ValueError:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>if imlabel==<NUM_LIT:1>:<EOL><INDENT>for z in range(nzmax):<EOL><INDENT>for n in range(nnmax):<EOL><INDENT>a = z+n<EOL>if nzycheck[n,z,iarr-<NUM_LIT:2>]==<NUM_LIT:1>:<EOL><INDENT>ax.text(n,z,a,horizontalalignment='<STR_LIT>',verticalalignment='<STR_LIT>',fontsize='<STR_LIT>',clip_on=True)<EOL><DEDENT><DEDENT><DEDENT><DEDENT>if imagic==<NUM_LIT:1>:<EOL><INDENT>ixymagic=[<NUM_LIT:2>, <NUM_LIT:8>, <NUM_LIT:20>, <NUM_LIT>, <NUM_LIT:50>, <NUM_LIT>, <NUM_LIT>]<EOL>nmagic = len(ixymagic)<EOL>for magic in ixymagic:<EOL><INDENT>if magic<=nzmax:<EOL><INDENT>try:<EOL><INDENT>xnmin = min(np.argwhere(nzycheck[:,magic,iarr-<NUM_LIT:2>]))[<NUM_LIT:0>]<EOL>xnmax = max(np.argwhere(nzycheck[:,magic,iarr-<NUM_LIT:2>]))[<NUM_LIT:0>]<EOL>line = ax.plot([xnmin,xnmax],[magic,magic],lw=<NUM_LIT>,color='<STR_LIT:r>',ls='<STR_LIT:->')<EOL><DEDENT>except ValueError:<EOL><INDENT>dummy=<NUM_LIT:0><EOL><DEDENT><DEDENT>if magic<=nnmax:<EOL><INDENT>try:<EOL><INDENT>yzmin = min(np.argwhere(nzycheck[magic,:,iarr-<NUM_LIT:2>]))[<NUM_LIT:0>]<EOL>yzmax = max(np.argwhere(nzycheck[magic,:,iarr-<NUM_LIT:2>]))[<NUM_LIT:0>]<EOL>line = ax.plot([magic,magic],[yzmin,yzmax],lw=<NUM_LIT>,color='<STR_LIT:r>',ls='<STR_LIT:->')<EOL><DEDENT>except ValueError:<EOL><INDENT>dummy=<NUM_LIT:0><EOL><DEDENT><DEDENT><DEDENT><DEDENT>if plotaxis==[<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>,<NUM_LIT:0>]:<EOL><INDENT>ax.axis([-<NUM_LIT:0.5>,xmax+<NUM_LIT:0.5>,-<NUM_LIT:0.5>,ymax+<NUM_LIT:0.5>])<EOL><DEDENT>else:<EOL><INDENT>ax.axis(plotaxis)<EOL><DEDENT>ax.set_xlabel('<STR_LIT>')<EOL>ax.set_ylabel('<STR_LIT>')<EOL>if which_flux == None or which_flux == <NUM_LIT:0>:<EOL><INDENT>max_flux_label="<STR_LIT>"+str('<STR_LIT>'.format(max_flux))<EOL><DEDENT>elif which_flux == <NUM_LIT:1>:<EOL><INDENT>max_flux_label="<STR_LIT>"+str('<STR_LIT>'.format(max_flux))<EOL><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>min_flux_label="<STR_LIT>"+str('<STR_LIT>'.format(min_flux))<EOL><DEDENT>if print_max_flux_in_plot:<EOL><INDENT>if which_flux == None or which_flux < <NUM_LIT:2>:<EOL><INDENT>ax.text(plotaxis[<NUM_LIT:1>]-<NUM_LIT>,plotaxis[<NUM_LIT:2>]+<NUM_LIT:0.1>,max_flux_label,fontsize=<NUM_LIT>)<EOL><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>ax.text(plotaxis[<NUM_LIT:1>]-<NUM_LIT>,plotaxis[<NUM_LIT:2>]+<NUM_LIT:0.1>,min_flux_label,fontsize=<NUM_LIT>)<EOL><DEDENT><DEDENT>fig.savefig(graphname)<EOL>print(graphname,'<STR_LIT>')<EOL>if which_flux == None or which_flux < <NUM_LIT:2>:<EOL><INDENT>print(max_flux_label,'<STR_LIT>',ind_max_flux+<NUM_LIT:1>)<EOL><DEDENT>elif which_flux == <NUM_LIT:2>:<EOL><INDENT>print(min_flux_label,'<STR_LIT>',ind_min_flux+<NUM_LIT:1>)<EOL><DEDENT>plt.show()<EOL>
Plots a chart with fluxes

Parameters
----------
file_name : string
    Name of the file of fluxes we are looking at.
plotaxis : list
    [xmin, xmax, ymin, ymax], where on x axis there is neutron
    number and on y axis there is Z.
plot_types : integer
    Set to 0 for standard flux plot.  Set to 1 if fluxes focused
    on one specie.
which_flux : integer, optional
    Set to 0 for nucleosynthesis flux plot.  Set to 1 is for energy
    flux plot.  Seting to None is the same a 0.  The default is
    None.
I_am_the_target : list, optional
    A 2xArray used only if plot_type=1, and is given by [neutron
    number, proton number].  The default is None.
prange : integer, optional
    The range of fluxes to be considered.  If prange is None, then
    8 fluxes are consdered.  The default is None.

Notes
-----
This script is terribly slow and needs to be improved.  For now I
put here in data_plot:

[1]: import data_plot

[2]: data_plot.flux_chart('file_name', [xmin, xmax, ymin, ymax],
                          int, which_flux, I_am_the_target, prange)

The pdf is created, but an error bumped up and the gui is empty.
To avoid this, I had to set 'text.usetex': False.  See below.  Also,
for the same reason no label in x axys is written using
'text.usetex': True.

Note also that the GUI works really slow with this plot.  So, we
need to optimize from the graphic point of view.  This need to be
included in ppn.py I think, and set in multi option too, in case
we want to read more flux files at the same time.

Finally, you need to have stable.dat to read in to make it work ...