das.utils_plot#
Plot utilities.
- class das.utils_plot.Pdf(savename, autosave=True, style=None, **savefig_kws)[source]#
Thin wrapper around Autosaving variant
[summary]
- Parameters
savename ([type]) – [description]
autosave (bool, optional) – [description]. Defaults to True.
style ([type], optional) – [description]. Defaults to None.
- das.utils_plot.annotate_events(event_seconds, event_names=None, tmin: float = 0, tmax: float = inf, color: Optional[List] = None)[source]#
Plot events as vertical lines to plot.
- Parameters
event_seconds (List[float]) – List of event times in seconds
event_names (List[str], optional) – List of event names. Defaults to None.
tmin (float, optional) – Start of the range of events annotated in seconds. Defaults to 0.
tmax (float, optional) – End of the range of events annotated in seconds. Defaults to np.inf.
color (optional) – Either a single valid matplotlib color (in that case all segment types will have that color) or a list of matplotlib colors, one for each segment type. Defaults to None, in which case a list of distinct colors will be created automatically from colorcet’s ‘glasbey_light’ palette.
- Raises
ValueError – If the number of colors does not match the number of unique event names.
- das.utils_plot.annotate_segments(onset_seconds, offset_seconds, segment_names=None, tmin: float = 0, tmax: float = inf, color=None)[source]#
Plot segments as vertical lines to plot.
- Parameters
onset_seconds ([type]) – [description]
offset_seconds ([type]) – [description]
segment_names ([type], optional) – [description]. Defaults to None.
tmin (float, optional) – [description]. Defaults to 0.
tmax (float, optional) – [description]. Defaults to np.inf.
color (optional) – Either a single valid matplotlib color (in that case all segment types will have that color) or a list of matplotlib colors, one for each segment type. Defaults to None, in which case a list of distinct colors will be created automatically from colorcet’s ‘glasbey_light’ palette.
- Raises
ValueError – If the number of colors does not match the number of unique segment names.
- das.utils_plot.bar_text(ax=None, spacing=- 20, to_int=True)[source]#
Add labels to the end of each bar in a bar chart.
- Parameters
ax (matplotlib.axes.Axes) – The matplotlib object containing the axes of the plot to annotate. Defaults to current axis.
spacing (int) – The distance between the labels and the bars. Defaults to -20 (inside bar)
- das.utils_plot.downsample_plot(x, y, ds=20)[source]#
Reduces complexity of exported pdfs w/o impairing visual appearance.
Modified from pyqtgraph - downsampleMethod=peak. Keeps peaks so the envelope of the waveform is preserved.
- das.utils_plot.generate_colors(nb_colors: int = 1, start_color=None, start=0, step=1)[source]#
[summary]
- Parameters
nb_colors (int, optional) – [description]. Defaults to 1.
start_color ([type], optional) – [description]. Defaults to None.
start (int, optional) – [description]. Defaults to 0.
step (int, optional) – [description]. Defaults to 1.
- Returns
[description]
- Return type
[type]
- das.utils_plot.imshow_text(data, labels=None, ax=None, color_high='w', color_low='k', color_threshold=50, skip_zeros=False)[source]#
Text labels for individual cells of an imshow plot
- Parameters
data ([type]) – Color values
labels ([type], optional) – Text labels. Defaults to None.
ax ([type], optional) – axis. Defaults to plt.gca().
color_high (str, optional) – [description]. Defaults to ‘w’.
color_low (str, optional) – [description]. Defaults to ‘k’.
color_threshold (int, optional) – [description]. Defaults to 50.
skip_zeros (bool, optional) – [description]. Defaults to False.
- das.utils_plot.label_axes(fig=None, labels=None, loc=None, **kwargs)[source]#
Walks through axes and labels each.
kwargs are collected and passed to
annotate
- Parameters
fig (Figure) – Figure object to work on
labels (iterable or None) – iterable of strings to use to label the axes. If None, lower case letters are used.
loc (len=2 tuple of floats) – Where to put the label in axes-fraction units
- das.utils_plot.remove_axes(axis=None, all=False, which='tblr')[source]#
Remove top & left border around plot or all axes & ticks.
- Parameters
axis (matplotlib.axes.Axes, optional) – Axes to modify. Defaults to None (currently active axis - plt.gca()).
all (bool, optional) – Remove all axes & ticks (True) or top & left border only (False). Defaults to False.
- das.utils_plot.scalebar(length, dx=1, units='', label=None, axis=None, location='lower right', frameon=False, **kwargs)[source]#
Add scalebar to axis.
- Usage:
plt.subplot(122) plt.plot([0,1,2,3], [1,4,2,5]) scalebar(0.5, ‘femtoseconds’, label=’duration’, location=’lower right’)
- Parameters
length (float) – Length of the scalebar in units of axis ticks - length of 1.0 corresponds to spacing between to major x-ticks
dx (int, optional) – Scale factor for length. E.g. if scale factor is 10, the scalebar of length 1.0 will span 10 ticks. Defaults to 1.
units (str, optional) – Unit label (e.g. ‘milliseconds’). Defaults to ‘’.
label (str, optional) – Title for scale bar (e.g. ‘Duration’). Defaults to None.
axis (matplotlib.axes.Axes, optional) – Axes to add scalebar to. Defaults to None (currently active axis - plt.gca()).
location (str, optional) – Where in the axes to put the scalebar (upper/lower/’’, left/right/center). Defaults to ‘lower right’.
frameon (bool, optional) – Add background (True) or not (False). Defaults to False.
kwargs – location=None, pad=None, border_pad=None, sep=None, frameon=None, color=None, box_color=None, box_alpha=None, scale_loc=None, label_loc=None, font_properties=None, label_formatter=None, animated=False):
- Returns
Handle to scalebar object