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 datetime import datetime
|
||||
|
||||
from tools import timer, trace
|
||||
from tools import timer, trace, logger_exception
|
||||
from View.Tools.PamhyrPlot import PamhyrPlot
|
||||
|
||||
from PyQt5.QtCore import (
|
||||
|
|
@ -68,6 +68,7 @@ class PlotH(PamhyrPlot):
|
|||
|
||||
self._line_max = []
|
||||
self._line = []
|
||||
self._add_data_lines = []
|
||||
|
||||
@property
|
||||
def results(self):
|
||||
|
|
@ -117,15 +118,17 @@ class PlotH(PamhyrPlot):
|
|||
|
||||
self.set_ticks_time_formater()
|
||||
|
||||
self.draw_additional_data(0)
|
||||
|
||||
self.enable_legend()
|
||||
|
||||
self.canvas.draw_idle()
|
||||
self.update_idle
|
||||
self.update_idle()
|
||||
|
||||
self.draw_current()
|
||||
self._init = True
|
||||
|
||||
def draw_data(self, res_id):
|
||||
|
||||
results = self.results[res_id]
|
||||
reach = results.river.reach(self._current_reach_id)
|
||||
for i, p in enumerate(self._current_profile_id):
|
||||
|
|
@ -152,6 +155,28 @@ class PlotH(PamhyrPlot):
|
|||
)
|
||||
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):
|
||||
self._current, = self.canvas.axes.plot(
|
||||
[self._current_timestamp, self._current_timestamp],
|
||||
|
|
@ -220,6 +245,10 @@ class PlotH(PamhyrPlot):
|
|||
self.update_current()
|
||||
self.update_idle()
|
||||
|
||||
def update_additional_data(self):
|
||||
self.draw_additional_data(0)
|
||||
self.update_idle()
|
||||
|
||||
def update_all(self):
|
||||
self._current_reach_id = self._parent._get_current_reach()
|
||||
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)
|
||||
data = self.read_csv_file_format(x, y)
|
||||
if data is None:
|
||||
return
|
||||
|
||||
results = self._results[self._current_results[0]]
|
||||
data_lst = results.get("additional_data")
|
||||
|
|
@ -1414,14 +1416,7 @@ class ResultsWindow(PamhyrWindow):
|
|||
self.plot_rkc.update_idle()
|
||||
|
||||
if data['type_x'] == 'time' and data['type_y'] == 'discharge':
|
||||
line = self.canvas_4.axes.plot(
|
||||
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()
|
||||
self.plot_h.update_additional_data()
|
||||
|
||||
for p in self._additional_plot:
|
||||
self._additional_plot[p].add_imported_plot(data)
|
||||
|
|
|
|||
Loading…
Reference in New Issue