Source code for sciplot.data.generic

# -*- coding: utf-8 -*-
"""
Generic data containers

Created on Thu Jul  7 10:31:43 2016

@author: chc
"""

import numpy as _np

[docs]class Data: """ Contains the underlying data to be plotted Attributes ---------- x : ndarray (1D) x-data (effectively, the horizontal axis data) y : ndarray (1D) y-data (effectively, the vertical axis data) label : str Label information, i.e., the name of the plot, graph, etc. style_dict : dict Style information (e.g., color, linewidth, etc) mplobj : object Object returned from the MPL plotting procedure. """ def __init__(self): self._setupData()
[docs] def _setupData(self): self.x = None self.y = None self.id = None self.label = None self.mplobj = None #self.units = {'x_units': None, 'y_units': None} self.style_dict = {} self.meta = {}
@property def model_style(self): out = {} out.update(self.style_dict) out['label'] = self.label out['id'] = self.id out['meta'] = self.meta return out
[docs]class Data2D(Data): """ Contains the underlying data to be imaged """ def __init__(self): self._setupData() self.img = None @property def extent(self): """ Generate an extent list used for mpl.imshow [xmin, xmax, ymin, ymax] """ ext = [None, None, None, None] if self.x is not None: ext[0] = self.x.min() ext[1] = self.x.max() else: ext[0] = 0 ext[1] = self.img.shape[1] if self.y is not None: ext[2] = self.y.min() ext[3] = self.y.max() else: ext[2] = 0 ext[3] = self.img.shape[0] return ext
[docs]class DataGlobal: """ Contains data that is pertinent across all plots """ def __init__(self): self.labels = {'x_label': None, 'y_label': None, 'title': None}