mirror of https://gitlab.com/pamhyr/pamhyr2
Results: Add data: Hydrogram: Move drawing to plot.
parent
9717968e08
commit
19c72892a8
|
|
@ -21,7 +21,7 @@ import logging
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from tools import timer, trace
|
from tools import timer, trace, logger_exception
|
||||||
from View.Tools.PamhyrPlot import PamhyrPlot
|
from View.Tools.PamhyrPlot import PamhyrPlot
|
||||||
|
|
||||||
from PyQt5.QtCore import (
|
from PyQt5.QtCore import (
|
||||||
|
|
@ -68,6 +68,7 @@ class PlotH(PamhyrPlot):
|
||||||
|
|
||||||
self._line_max = []
|
self._line_max = []
|
||||||
self._line = []
|
self._line = []
|
||||||
|
self._add_data_lines = []
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def results(self):
|
def results(self):
|
||||||
|
|
@ -117,15 +118,17 @@ class PlotH(PamhyrPlot):
|
||||||
|
|
||||||
self.set_ticks_time_formater()
|
self.set_ticks_time_formater()
|
||||||
|
|
||||||
|
self.draw_additional_data(0)
|
||||||
|
|
||||||
self.enable_legend()
|
self.enable_legend()
|
||||||
|
|
||||||
self.canvas.draw_idle()
|
self.canvas.draw_idle()
|
||||||
self.update_idle
|
self.update_idle()
|
||||||
|
|
||||||
self.draw_current()
|
self.draw_current()
|
||||||
self._init = True
|
self._init = True
|
||||||
|
|
||||||
def draw_data(self, res_id):
|
def draw_data(self, res_id):
|
||||||
|
|
||||||
results = self.results[res_id]
|
results = self.results[res_id]
|
||||||
reach = results.river.reach(self._current_reach_id)
|
reach = results.river.reach(self._current_reach_id)
|
||||||
for i, p in enumerate(self._current_profile_id):
|
for i, p in enumerate(self._current_profile_id):
|
||||||
|
|
@ -152,6 +155,28 @@ class PlotH(PamhyrPlot):
|
||||||
)
|
)
|
||||||
self._line.append(line)
|
self._line.append(line)
|
||||||
|
|
||||||
|
def draw_additional_data(self, res_id):
|
||||||
|
results = self.results[res_id]
|
||||||
|
|
||||||
|
self._add_data_lines = []
|
||||||
|
|
||||||
|
for data in results.get("additional_data"):
|
||||||
|
data = data._data
|
||||||
|
x, y = data['x'], data['y']
|
||||||
|
legend = data['legend']
|
||||||
|
unit = data['unit']
|
||||||
|
|
||||||
|
if data['type_x'] == 'time' and data['type_y'] == 'discharge':
|
||||||
|
line, = self.canvas.axes.plot(
|
||||||
|
x, y, marker="+",
|
||||||
|
label=legend + ' ' + unit
|
||||||
|
)
|
||||||
|
|
||||||
|
self._add_data_lines.append(line)
|
||||||
|
|
||||||
|
self.enable_legend()
|
||||||
|
self.canvas.draw_idle()
|
||||||
|
|
||||||
def draw_current(self):
|
def draw_current(self):
|
||||||
self._current, = self.canvas.axes.plot(
|
self._current, = self.canvas.axes.plot(
|
||||||
[self._current_timestamp, self._current_timestamp],
|
[self._current_timestamp, self._current_timestamp],
|
||||||
|
|
@ -220,6 +245,10 @@ class PlotH(PamhyrPlot):
|
||||||
self.update_current()
|
self.update_current()
|
||||||
self.update_idle()
|
self.update_idle()
|
||||||
|
|
||||||
|
def update_additional_data(self):
|
||||||
|
self.draw_additional_data(0)
|
||||||
|
self.update_idle()
|
||||||
|
|
||||||
def update_all(self):
|
def update_all(self):
|
||||||
self._current_reach_id = self._parent._get_current_reach()
|
self._current_reach_id = self._parent._get_current_reach()
|
||||||
self._current_profile_id = self._parent._get_current_profiles_list()
|
self._current_profile_id = self._parent._get_current_profiles_list()
|
||||||
|
|
|
||||||
|
|
@ -1323,6 +1323,8 @@ class ResultsWindow(PamhyrWindow):
|
||||||
|
|
||||||
x, y = self.read_csv_file_data(filename)
|
x, y = self.read_csv_file_data(filename)
|
||||||
data = self.read_csv_file_format(x, y)
|
data = self.read_csv_file_format(x, y)
|
||||||
|
if data is None:
|
||||||
|
return
|
||||||
|
|
||||||
results = self._results[self._current_results[0]]
|
results = self._results[self._current_results[0]]
|
||||||
data_lst = results.get("additional_data")
|
data_lst = results.get("additional_data")
|
||||||
|
|
@ -1414,14 +1416,7 @@ class ResultsWindow(PamhyrWindow):
|
||||||
self.plot_rkc.update_idle()
|
self.plot_rkc.update_idle()
|
||||||
|
|
||||||
if data['type_x'] == 'time' and data['type_y'] == 'discharge':
|
if data['type_x'] == 'time' and data['type_y'] == 'discharge':
|
||||||
line = self.canvas_4.axes.plot(
|
self.plot_h.update_additional_data()
|
||||||
x, y, marker="+",
|
|
||||||
label=legend + ' ' + unit
|
|
||||||
)
|
|
||||||
self.plot_h._line.append(line)
|
|
||||||
self.plot_h.enable_legend()
|
|
||||||
self.plot_h.canvas.draw_idle()
|
|
||||||
self.plot_h.update_idle()
|
|
||||||
|
|
||||||
for p in self._additional_plot:
|
for p in self._additional_plot:
|
||||||
self._additional_plot[p].add_imported_plot(data)
|
self._additional_plot[p].add_imported_plot(data)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue