def databoxes(ds, xscript=<NUM_LIT:0>, yscript=<NUM_LIT:1>, eyscript=None, exscript=None, g=None, plotter=xy_data, transpose=False, **kwargs):
if not _fun.is_iterable(ds): ds = [ds]<EOL>if '<STR_LIT>' not in kwargs: kwargs['<STR_LIT>'] = str(xscript)<EOL>if '<STR_LIT>' not in kwargs: kwargs['<STR_LIT>'] = str(yscript)<EOL>if not _fun.is_iterable(xscript): xscript = [xscript]<EOL>if not _fun.is_iterable(yscript): yscript = [yscript]<EOL>if not _fun.is_iterable(exscript): exscript = [exscript]<EOL>if not _fun.is_iterable(eyscript): eyscript = [eyscript]<EOL>if len(exscript)   < len(xscript):<EOL><INDENT>for n in range(len(xscript)-<NUM_LIT:1>): exscript.append(exscript[<NUM_LIT:0>])<EOL><DEDENT>if len(eyscript)   < len(yscript):<EOL><INDENT>for n in range(len(yscript)-<NUM_LIT:1>): eyscript.append(eyscript[<NUM_LIT:0>])<EOL><DEDENT>if len(xscript)    < len(yscript):<EOL><INDENT>for n in range(len(yscript)-<NUM_LIT:1>):<EOL><INDENT>xscript.append(xscript[<NUM_LIT:0>])<EOL>exscript.append(exscript[<NUM_LIT:0>])<EOL><DEDENT><DEDENT>if len(yscript)    < len(xscript):<EOL><INDENT>for n in range(len(xscript)-<NUM_LIT:1>):<EOL><INDENT>yscript.append(yscript[<NUM_LIT:0>])<EOL>eyscript.append(eyscript[<NUM_LIT:0>])<EOL><DEDENT><DEDENT>for n in range(len(xscript)):<EOL><INDENT>if xscript[n] is None and yscript[n] is None:<EOL><INDENT>print("<STR_LIT>")<EOL>return<EOL><DEDENT>if xscript[n] is None:<EOL><INDENT>if type(yscript[n])==str: xscript[n] = '<STR_LIT>'+yscript[n]+'<STR_LIT>'<EOL>else:                     xscript[n] = '<STR_LIT>'+str(yscript[n])+'<STR_LIT>'<EOL><DEDENT>if yscript[n] is None:<EOL><INDENT>if type(xscript[n])==str: yscript[n] = '<STR_LIT>'+xscript[n]+'<STR_LIT>'<EOL>else:                     yscript[n] = '<STR_LIT>'+str(xscript[n])+'<STR_LIT>'<EOL><DEDENT><DEDENT>xdatas  = []<EOL>ydatas  = []<EOL>exdatas = []<EOL>eydatas = []<EOL>labels  = []<EOL>for i in range(len(ds)):<EOL><INDENT>all_globals = dict(n=i,m=len(ds)-<NUM_LIT:1>-i)<EOL>if not g==None: all_globals.update(g)<EOL>d = ds[i]<EOL>if transpose: d = d.transpose()<EOL>xdata = d(xscript, all_globals)<EOL>for n in range(len(xdata)):<EOL><INDENT>xdatas.append(xdata[n])<EOL>if len(xdata)><NUM_LIT:1>: labels.append(str(n)+"<STR_LIT>"+_os.path.split(d.path)[-<NUM_LIT:1>])<EOL>else:            labels.append(_os.path.split(d.path)[-<NUM_LIT:1>])<EOL><DEDENT>for y in d( yscript, all_globals):  ydatas.append(y)<EOL>for x in d(exscript, all_globals): exdatas.append(x)<EOL>for y in d(eyscript, all_globals): eydatas.append(y)<EOL><DEDENT>if "<STR_LIT:label>" in kwargs: labels = kwargs.pop("<STR_LIT:label>")<EOL>plotter(xdatas, ydatas, eydatas, exdatas, label=labels, **kwargs)<EOL>
Plots the listed databox objects with the specified scripts.

ds        list of databoxes
xscript   script for x data
yscript   script for y data
eyscript  script for y error
exscript  script for x error
plotter   function used to do the plotting
transpose applies databox.transpose() prior to plotting
g         optional dictionary of globals for the supplied scripts

**kwargs are sent to plotter()