def complex_data(data, edata=None, draw=True, **kwargs):
_pylab.ioff()<EOL>try:<EOL><INDENT>rdata = _n.real(data)<EOL>idata = _n.imag(data)<EOL>if edata is None:<EOL><INDENT>erdata = None<EOL>eidata = None<EOL><DEDENT>else:<EOL><INDENT>erdata = _n.real(edata)<EOL>eidata = _n.imag(edata)<EOL><DEDENT><DEDENT>except:<EOL><INDENT>rdata = []<EOL>idata = []<EOL>if edata is None:<EOL><INDENT>erdata = None<EOL>eidata = None<EOL><DEDENT>else:<EOL><INDENT>erdata = []<EOL>eidata = []<EOL><DEDENT>for n in range(len(data)):<EOL><INDENT>rdata.append(_n.real(data[n]))<EOL>idata.append(_n.imag(data[n]))<EOL>if not edata is None:<EOL><INDENT>erdata.append(_n.real(edata[n]))<EOL>eidata.append(_n.imag(edata[n]))<EOL><DEDENT><DEDENT><DEDENT>if '<STR_LIT>' not in kwargs:    kwargs['<STR_LIT>'] = '<STR_LIT>'<EOL>if '<STR_LIT>' not in kwargs:    kwargs['<STR_LIT>'] = '<STR_LIT>'<EOL>xy_data(rdata, idata, eidata, erdata, draw=False, **kwargs)<EOL>if draw:<EOL><INDENT>_pylab.ion()<EOL>_pylab.draw()<EOL>_pylab.show()<EOL><DEDENT>
Plots the imaginary vs real for complex data.

Parameters
----------
data             
    Array of complex data
edata=None       
    Array of complex error bars
draw=True
    Draw the plot after it's assembled?
See spinmob.plot.xy.data() for additional optional keyword arguments.