diff options
Diffstat (limited to 'qolab/data')
-rw-r--r-- | qolab/data/trace.py | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/qolab/data/trace.py b/qolab/data/trace.py index ef44041..871c8c2 100644 --- a/qolab/data/trace.py +++ b/qolab/data/trace.py @@ -1,51 +1,45 @@ -class TraceYonly: +class Trace: def __init__(self, descrStr): self.descr = descrStr - self.y = None - self.ylabel = None - self.yunit = None + self.values = None + self.label = None + self.unit = None def plot(self): import matplotlib.pyplot as plt - plt.plot(self.y, label=self.descr) + plt.plot(self.values, label=self.descr) plt.legend() -class Trace(TraceYonly): +class TraceXY: def __init__(self, descrStr): - super().__init__(descrStr) - self.x = None - self.xlabel = None - self.xunit = None + self.descr = descrStr + self.x = Trace('x_values') + self.y = Trace('y_values') def plot(self): import matplotlib.pyplot as plt - plt.plot(self.x, self.y, label=self.descr) + plt.plot(self.x.values, self.y.values, label=self.descr) plt.legend() + plt.xlabel(self.x.label) class TraceSetSameX: def __init__(self, descrStr): self.descr = descrStr - self.x = None - self.xlabel = None - self.xunit = None + self.x = Trace('x_values') self.traces={} def addTrace(self, tr): if len(self.traces) == 0: self.x = tr.x - self.xlabel = tr.xlabel - self.xunit = tr.xunit - trY = TraceYonly(tr.descr) - trY.y = tr.y - trY.ylabel = tr.ylabel - trY.yunit = tr.yunit - self.traces[trY.descr]=trY + trY = tr.y + self.traces[tr.descr]=trY def plot(self): import matplotlib.pyplot as plt - for k, v in self.traces.items(): - plt.plot(self.x, v.y, label=v.descr) + for k, tr in self.traces.items(): + tr.plot() + plt.xlabel(self.x.label) plt.legend() |