# uvotplot¶

## helper functions¶

### Ellipse()¶

uvotpy.uvotplot.Ellipse(xxx_todo_changeme, xxx_todo_changeme1, angle=0.0, resolution=200, **kwargs)

plot an ellipse using an N-sided polygon

Parameters: (x,y) : float centre ellipse (rx,ry) : float half axis ellipse angle : float angle in units of degrees resolution : int determines number of points to use and additional kwargs for pyplot.plot()

### binplot()¶

uvotpy.uvotplot.binplot(*args, **kwargs)

Bin up the arrays with the keyword bin=<number> Same parameters as used by plot (pyplot)

### contourpk()¶

uvotpy.uvotplot.contourpk(x, y, f, levels=None, xb=None, xe=None, yb=None, ye=None, s=60, kx=1, ky=1, dolabels=True, **kwargs)

Make a contour plot with 1-D array inputs for X, Y and F. This is a wrapper to convert lists of points (X,Y,Z) in 2-D arrays, then calls contour()

Parameters: X, Y: ndarrays[:], 1D on a 2D plane coordinates X, Y Z : ndarray[:], 1D function on X,Y

### maskEllipse()¶

uvotpy.uvotplot.maskEllipse(maskimg, x, y, a, b, theta, test=0, chatter=1)

update a mask excluding ellipse region

Parameters: maskimg : ndarray, 2D, bool boolean array to aplly mask to (i.e., numpy.ones( array([200,400]),dtype=bool) ) x,y : int, float ellipse center coordinate x,y a,b : float ellipse major axis a; minor axis b; theta : float rotation angle theta counterclockwise in deg. maskimg with all pixels inside the ellipse are set to False

### plot_ellipsoid_regions()¶

uvotpy.uvotplot.plot_ellipsoid_regions(Xim, Yim, Xa, Yb, Thet, b2mag, matched, ondetector, img_pivot, img_pivot_ori, img_size, limitMag, img_angle=0.0, lmap=False, makeplot=True, color='k', annulusmag=13.0, ax=None, chatter=1)

This routine is to plot ellipsoid regions on the grism image/graph, which may be a rotated, cropped part of the detector image

Returns: None or boolean map image, plots an ellipse on the current figure

### waveAccPlot()¶

uvotpy.uvotplot.waveAccPlot(wave_obs, pix_obs, wave_zmx, pix_zmx, disp_coef, obsid=None, acc=None, order=None, wheelpos=200, figureno=1, legloc=[1, 2])

Plots of the accuracy of the wavelength solution from zemax compared to the observed wavelengths.

Parameters: wave_obs, pix_obs : ndarray observed wavelengths points (green circles) wave_zmx ,pix_zmx : ndarray calculated zemax points (or the interpolated solution (red crosses) disp_coef : ndarray dispersion coefficients disp_coef : list coefficients in reverse order: if p is of length N, this the polynomial is as follows for coeff named p: y(x) = p[0]*(x**N-1) + p[1]*(x**N-2) + ... + p[N-2]*x + p[N-1] kwargs : dict acc : accuracy in wavelength order : order of polynomial disp_coef (default len(coef) ) obsid : if given, append to title

Notes

Figure description

x-axis : pix - pixel number referenced to [260nm in first order]

Top panel only

y-axis: lambda - lambda_linear

linear term in the dispersion a linear term is fit to the wavelengths

$lambda_{lin}$ = coef[0]+coef[1]*pix

Bottom panel only

y-axis: residuals

wave_obs, pix_obs - wave(pix_obs) (green circles) wave_zmx, pix_zmx - wave(pix_zmx) (red crosses)