Skip to content
Snippets Groups Projects
Commit c2533934 authored by Ed Rogers's avatar Ed Rogers
Browse files

Add update of bar

parent 6c44759a
No related branches found
No related tags found
No related merge requests found
...@@ -68,26 +68,37 @@ class HearingMplCanvas(FigureCanvas): ...@@ -68,26 +68,37 @@ class HearingMplCanvas(FigureCanvas):
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Expanding) QtWidgets.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self) FigureCanvas.updateGeometry(self)
self.ul_bar = None
self.ll_bar = None
self.plot_result(HearingResult(parent.library.freqs)) self.plot_result(HearingResult(parent.library.freqs))
def plot_result(self, result: HearingResult): def plot_result(self, result: HearingResult):
inds = np.arange(0, result.bands.size) inds = np.arange(0, result.bands.size)
baseline = -10 baseline = -10
self.axes.set_axis_bgcolor('k') self.axes.set_axis_bgcolor('k')
self.axes.bar(inds, result.upper_bounds-baseline, color=(0, 0.5, 0), bottom=baseline) self.ul_bar = self.axes.bar(inds, result.upper_bounds-baseline, color=(0, 0.5, 0), bottom=baseline)
self.axes.bar(inds, result.lower_bounds-baseline, color=(0, 1, 0), bottom=baseline) self.ll_bar = self.axes.bar(inds, result.lower_bounds-baseline, color=(0, 1, 0), bottom=baseline)
xlim = self.axes.get_xlim() xlim = self.axes.get_xlim()
for i in np.arange(result.lower_lim+baseline, result.upper_lim, result.get_block_size()): for i in np.arange(result.lower_lim+baseline, result.upper_lim, result.get_block_size()):
self.axes.plot(self.axes.get_xlim(), np.ones(2)*i, color='k') self.axes.plot(self.axes.get_xlim(), np.ones(2)*i, color='k')
labels = [str(b) for b in result.bands] labels = [str(b) for b in result.bands]
labels.insert(0, '') labels.insert(0, '')
self.axes.set_xticklabels(labels) self.axes.set_xticklabels(labels)
print(result.bands) # print(result.bands)
print(labels) # print(labels)
print(result.lower_bounds) # print(result.lower_bounds)
self.axes.set_ylim(-10, 110) self.axes.set_ylim(-10, 110)
self.axes.set_xlim(xlim) self.axes.set_xlim(xlim)
def update_result(self, result: HearingResult) -> None:
self.set_bar_heights(self.ul_bar, result.upper_bounds)
self.set_bar_heights(self.ll_bar, result.lower_bounds)
@staticmethod
def set_bar_heights(bars: matplotlib.container.BarContainer, vals: np.ndarray):
for bar, h in zip(bars, vals):
bar.set_height(h)
class HearingTestThread(QtCore.QThread): class HearingTestThread(QtCore.QThread):
played_sound = QtCore.pyqtSignal(float, float) played_sound = QtCore.pyqtSignal(float, float)
...@@ -152,7 +163,7 @@ class TestWindow(QMainWindow): ...@@ -152,7 +163,7 @@ class TestWindow(QMainWindow):
self.log.setText('') self.log.setText('')
self.title.setText('Test running') self.title.setText('Test running')
self.log.append('Starting...') self.log.append('Starting...')
self.testing_thread = HearingTestThread(self.library) self.testing_thread = HearingTestThread(self.library, result)
self.testing_thread.played_sound.connect(self.sound_played) self.testing_thread.played_sound.connect(self.sound_played)
self.testing_thread.finished.connect(self.test_finished) self.testing_thread.finished.connect(self.test_finished)
self.testing_thread.start() self.testing_thread.start()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment