Commit 628af44f authored by Niels-Oliver Walkowski's avatar Niels-Oliver Walkowski
Browse files

move vline to sequenceplot superclass

parent 6a55aae7
...@@ -73,6 +73,25 @@ class SequencePlot(object): ...@@ -73,6 +73,25 @@ class SequencePlot(object):
return (ax, axt) return (ax, axt)
# TODO Überführbar in Superclass?
# evtl. auch eher feature drer View Klasse
# TODO self._x sollte eine array sein
def _vlines(self, view, mark, mark_gt, mark_lt):
npx = np..array(self._x)
if mark_gt:
poss = npx[view > mark_gt]
for pos in poss:
self._ax.axvline(pos, color='#a6e22e', alpha=0.4, linewidth=3)
if mark_lt:
poss = npx[view < mark_lt]
for pos in poss:
self._ax.axvline(pos, color='#f92672', alpha=0.4, linewidth=3)
if mark:
for pos in mark:
print(self._ax)
self._ax.axvline(pos, color='#66d9ef', alpha=0.4, linewidth=3)
def saveplt(self, title=False, fname='plot.png'): def saveplt(self, title=False, fname='plot.png'):
if title: if title:
self._ax.set_title(title, {'fontsize': 14}, y=1.18) self._ax.set_title(title, {'fontsize': 14}, y=1.18)
...@@ -90,7 +109,7 @@ class MultivariatePlot(SequencePlot): ...@@ -90,7 +109,7 @@ class MultivariatePlot(SequencePlot):
self.fig = plt.figure() self.fig = plt.figure()
self._ax = plt.axes() self._ax = plt.axes()
def plot(self, view): def plot(self, view, mark_gt=False, mark_lt=False, mark=False):
x = view[:, 0] x = view[:, 0]
y = view[:, 1] y = view[:, 1]
value = view[:, 2] value = view[:, 2]
...@@ -103,6 +122,9 @@ class MultivariatePlot(SequencePlot): ...@@ -103,6 +122,9 @@ class MultivariatePlot(SequencePlot):
# axt.scatter(x, y, c=y, cmap='Greys_r', s=thickness, linewidths=0) # DOC: vmin/vmax sorgt für die Verteilung der Fraben der Colorm # axt.scatter(x, y, c=y, cmap='Greys_r', s=thickness, linewidths=0) # DOC: vmin/vmax sorgt für die Verteilung der Fraben der Colorm
# ax.scatter(x, y, c=y, cmap='hsv', s=thickness, linewidths=0) # ax.scatter(x, y, c=y, cmap='hsv', s=thickness, linewidths=0)
if mark:
self._vlines(view, mark, False, False)
self.fig.tight_layout() self.fig.tight_layout()
self.fig.set_size_inches(self.width, self.height) self.fig.set_size_inches(self.width, self.height)
...@@ -124,21 +146,8 @@ class UnivariatePlot(SequencePlot): ...@@ -124,21 +146,8 @@ class UnivariatePlot(SequencePlot):
# contrast_points = savitzky_golay(np.array(contrast_points), 51, 7) # contrast_points = savitzky_golay(np.array(contrast_points), 51, 7)
self._axt.plot(self._x, view, label=view.feature) self._axt.plot(self._x, view, label=view.feature)
# TODO Überführbar in Superclass? if any([mark, mark_gt, mark_lt]):
# evtl. auch eher feature drer View Klasse self._vlines(view, mark, mark_gt, mark_lt)
# TODO self._x sollte eine array sein
npx = np.array(self._x)
if mark_gt:
poss = npx[view > mark_gt]
for pos in poss:
self._ax.axvline(pos, color='#a6e22e', alpha=0.3, linewidth=3)
if mark_lt:
poss = npx[view < mark_lt]
for pos in poss:
self._ax.axvline(pos, color='#f92672', alpha=0.3, linewidth=3)
if mark:
for pos in mark:
self._ax.axvline(pos, color='#66d9ef', alpha=0.3, linewidth=3)
self._axt.legend() self._axt.legend()
......
from itten.movie import Movie from itten.movie import Movie
from itten.views import MultivariateSequence from itten.views import MultivariateSequence
from itten.views import UnivariateSequence
from itten.visuals import MultivariatePlot from itten.visuals import MultivariatePlot
from itten.visuals import UnivariatePlot
movie = Movie(prefix='wwz_', folder='../DHd-2017/Data/Frames/WWZ/') movie = Movie(prefix='wwz_', folder='../DHd-2017/Data/Frames/WWZ/')
# movie._frames.start = 367 # movie._frames.start = 367
# movie._frames.end = 1000 # movie._frames.end = 1000
cont = MultivariateSequence(movie._frames,) cont = MultivariateSequence(movie._frames,)
cont.populate(frm_stp=1, ctrst='saturation') # cont = UnivariateSequence(movie._frames,)
cont.populate(frm_stp=3, ctrst='light_dark')
viz = MultivariatePlot(cont) viz = MultivariatePlot(cont)
viz.plot(cont, mark=[243, 1885, 3430, 4237, 4543]) viz.plot(cont, mark=[243, 1885, 3430, 4237, 4543])
# cont.seqper(frm_stp=5, ctrst='saturation', perc=50) # cont.seqper(frm_stp=5, ctrst='saturation', perc=50)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment