ska_matplotlib
¶
Functions¶
- ska_matplotlib.cxctime2plotdate(times)[source]¶
Convert input CXC time (sec) to the time base required for the matplotlib plot_date function (days since start of year 1).
For new code, do not use cxctime2plotdate and instead use the plot_date Time format from cxotime.CxoTime with
CxoTime(times).plot_date
.- Parameters
times – times (any DateTime compatible format or object)
- Return type
plot_date times
- ska_matplotlib.plot_cxctime(times, y, fmt=None, fig=None, ax=None, yerr=None, xerr=None, tz=None, state_codes=None, interactive=True, **kwargs)[source]¶
Make a date plot where the X-axis values are in a CXC time compatible format. If no
fig
value is supplied then the current figure will be used (and created automatically if needed). If yerr or xerr is supplied,errorbar()
will be called and any additional keyword arguments will be passed to it. Otherwise any additional keyword arguments (e.g.fmt='b-'
) are passed through to theplot()
function. Also seeerrorbar()
for an explanation of the possible forms of yerr/xerr.If the
state_codes
keyword argument is provided then the y-axis ticks and tick labels will be set accordingly. Thestate_codes
value must be a list of (raw_count, state_code) tuples, and is normally set tomsid.state_codes
for an MSID object from fetch().If the
interactive
keyword is True (default) then the plot will be redrawn at the end and a GUI callback will be created which allows for on-the-fly update of the date tick labels when panning and zooming interactively. Set this to False to improve the speed when making several plots. This will likely require issuing a plt.draw() or fig.canvas.draw() command at the end.- Parameters
times – CXC time values for x-axis (DateTime compatible format, CxoTime)
y – y values
fmt – plot format (default None)
fig – pyplot figure object (optional)
yerr – error on y values, may be [ scalar | N, Nx1, or 2xN array-like ]
xerr – error on x values in units of DAYS (may be [ scalar | N, Nx1, or 2xN array-like ] )
tz – timezone string
state_codes – list of (raw_count, state_code) tuples
interactive – use plot interactively (default=True, faster if False)
**kwargs – keyword args passed through to
plot()
orerrorbar()
- Return type
ticklocs, fig, ax = tick locations, figure, and axes object.
- ska_matplotlib.pointpair(x, y=None)[source]¶
Interleave and then flatten two arrays
x
andy
. This is typically useful for making a histogram style plot wherex
andy
are the bin start and stop respectively. If no value fory
is provided thenx
is used.Example:
from ska_matplotlib import pointpair x = np.arange(1, 100, 5) x0 = x[:-1] x1 = x[1:] y = np.random.uniform(len(x0)) xpp = pointpair(x0, x1) ypp = pointpair(y) plot(xpp, ypp)
- X
left edge value of point pairs
- Y
right edge value of point pairs (optional)
- Return type
np.array of length 2*len(x) == 2*len(y)
- ska_matplotlib.set_time_ticks(plt, ticklocs=None)[source]¶
Pick nice values to show time ticks in a date plot.
Example:
x = cxctime2plotdate(np.linspace(0, 3e7, 20)) y = np.random.normal(size=len(x)) fig = pylab.figure() plt = fig.add_subplot(1, 1, 1) plt.plot_date(x, y, fmt='b-') ticklocs = set_time_ticks(plt) fig.autofmt_xdate() fig.show()
The returned value of
ticklocs
can be used in subsequent date plots to force the same major and minor tick locations and formatting. Note also the use of the high-level fig.autofmt_xdate() convenience method to configure vertically stacked date plot(s) to be well-formatted.- Parameters
plt –
matplotlib.axes.AxesSubplot
object (frompylab.figure.add_subplot
)ticklocs – list of major/minor tick locators ala the default
TICKLOCS
- Return type
tuple with selected ticklocs as first element