mirror of https://gitlab.com/pamhyr/pamhyr2
HS: Apply new PamhyrPlot features.
parent
2111307965
commit
4f747f8fa7
|
|
@ -42,6 +42,14 @@ class PlotAC(PamhyrPlot):
|
|||
self._current_reach = reach
|
||||
self._current_profile = profile
|
||||
|
||||
self.label_x = _translate("MainWindow_reach", "X (m)")
|
||||
self.label_y = _translate("MainWindow_reach", "Elevation (m)")
|
||||
|
||||
self._isometric_axis = False
|
||||
|
||||
self._auto_relim_update = True
|
||||
self._autoscale_update = True
|
||||
|
||||
@property
|
||||
def river(self):
|
||||
return self.data
|
||||
|
|
@ -51,9 +59,8 @@ class PlotAC(PamhyrPlot):
|
|||
self.data = river
|
||||
|
||||
@timer
|
||||
def draw(self, highlight=None):
|
||||
self.canvas.axes.cla()
|
||||
self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
|
||||
def draw(self):
|
||||
self.init_axes()
|
||||
|
||||
if self.data is None:
|
||||
self.line_kp = None
|
||||
|
|
@ -63,16 +70,13 @@ class PlotAC(PamhyrPlot):
|
|||
self.line_kp = None
|
||||
return
|
||||
|
||||
reach = self._current_reach
|
||||
self.draw_data()
|
||||
|
||||
self.canvas.axes.set_xlabel(
|
||||
_translate("MainWindow_reach", "X (m)"),
|
||||
color='black', fontsize=11
|
||||
)
|
||||
self.canvas.axes.set_ylabel(
|
||||
_translate("MainWindow_reach", "Elevation (m)"),
|
||||
color='black', fontsize=11
|
||||
)
|
||||
self.idle()
|
||||
self._init = True
|
||||
|
||||
def draw_data(self):
|
||||
reach = self._current_reach
|
||||
|
||||
if self._current_profile is None:
|
||||
self.line_kp = None
|
||||
|
|
@ -83,19 +87,10 @@ class PlotAC(PamhyrPlot):
|
|||
|
||||
self.line_kp, = self.canvas.axes.plot(
|
||||
x, z,
|
||||
linestyle="solid",
|
||||
lw=1.8,
|
||||
color='grey',
|
||||
color=self.color_plot_river_bottom,
|
||||
**self.plot_default_kargs
|
||||
)
|
||||
|
||||
self.canvas.axes.relim()
|
||||
self.canvas.axes.autoscale_view()
|
||||
|
||||
self.canvas.figure.tight_layout()
|
||||
self.canvas.figure.canvas.draw_idle()
|
||||
if self.toolbar is not None:
|
||||
self.toolbar.update()
|
||||
|
||||
def set_reach(self, reach):
|
||||
self._current_reach = reach
|
||||
self.update()
|
||||
|
|
@ -110,24 +105,19 @@ class PlotAC(PamhyrPlot):
|
|||
return
|
||||
|
||||
if self._current_reach is None or self._current_profile is None:
|
||||
self.clear()
|
||||
return
|
||||
self.update_clear()
|
||||
else:
|
||||
self.update_data()
|
||||
|
||||
self.update_idle()
|
||||
|
||||
def update_data(self):
|
||||
profile = self._current_profile
|
||||
x = profile.get_station()
|
||||
z = profile.z()
|
||||
|
||||
self.line_kp.set_data(x, z)
|
||||
|
||||
self.canvas.axes.relim()
|
||||
self.canvas.axes.autoscale_view()
|
||||
|
||||
self.canvas.figure.tight_layout()
|
||||
self.canvas.figure.canvas.draw_idle()
|
||||
|
||||
def clear(self):
|
||||
def update_clear(self):
|
||||
if self.line_kp is not None:
|
||||
self.line_kp.set_data([], [])
|
||||
|
||||
self.canvas.figure.tight_layout()
|
||||
self.canvas.figure.canvas.draw_idle()
|
||||
|
|
|
|||
|
|
@ -43,6 +43,14 @@ class PlotKPC(PamhyrPlot):
|
|||
self._current_reach = reach
|
||||
self._current_profile = profile
|
||||
|
||||
self.label_x = _translate("MainWindow_reach", "KP (m)")
|
||||
self.label_y = _translate("MainWindow_reach", "Elevation (m)")
|
||||
|
||||
self._isometric_axis = False
|
||||
|
||||
self._auto_relim_update = True
|
||||
self._autoscale_update = True
|
||||
|
||||
@property
|
||||
def river(self):
|
||||
return self.data
|
||||
|
|
@ -53,8 +61,7 @@ class PlotKPC(PamhyrPlot):
|
|||
|
||||
@timer
|
||||
def draw(self, highlight=None):
|
||||
self.canvas.axes.cla()
|
||||
self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
|
||||
self.init_axes()
|
||||
|
||||
if self.data is None:
|
||||
self.profile = None
|
||||
|
|
@ -68,16 +75,14 @@ class PlotKPC(PamhyrPlot):
|
|||
self.line_kp_zmin = None
|
||||
return
|
||||
|
||||
reach = self._current_reach
|
||||
self.draw_data()
|
||||
self.draw_current()
|
||||
|
||||
self.canvas.axes.set_ylabel(
|
||||
_translate("MainWindow_reach", "Elevation (m)"),
|
||||
color='black', fontsize=11
|
||||
)
|
||||
self.canvas.axes.set_xlabel(
|
||||
_translate("MainWindow_reach", "KP (m)"),
|
||||
color='black', fontsize=11
|
||||
)
|
||||
self.idle()
|
||||
self._init = True
|
||||
|
||||
def draw_data(self):
|
||||
reach = self._current_reach
|
||||
|
||||
kp = reach.reach.get_kp()
|
||||
z_min = reach.reach.get_z_min()
|
||||
|
|
@ -85,31 +90,32 @@ class PlotKPC(PamhyrPlot):
|
|||
|
||||
self.line_kp_zmin, = self.canvas.axes.plot(
|
||||
kp, z_min,
|
||||
color='grey', lw=1.
|
||||
color=self.color_plot_river_bottom,
|
||||
lw=1.
|
||||
)
|
||||
|
||||
if len(kp) != 0:
|
||||
self.line_kp_zmin_zmax = self.canvas.axes.vlines(
|
||||
x=kp,
|
||||
ymin=z_min, ymax=z_max,
|
||||
color='b',
|
||||
color=self.color_plot,
|
||||
lw=1.
|
||||
)
|
||||
|
||||
def draw_current(self):
|
||||
if self._current_profile is None:
|
||||
self.profile = None
|
||||
else:
|
||||
self.profile, = self.canvas.axes.plot(
|
||||
[self._current_profile.kp, self._current_profile.kp],
|
||||
[self._current_profile.z_min(), self._current_profile.z_max()],
|
||||
color='red', lw=1.
|
||||
)
|
||||
kp = [self._current_profile.kp,
|
||||
self._current_profile.kp]
|
||||
min_max = [self._current_profile.z_min(),
|
||||
self._current_profile.z_max()]
|
||||
|
||||
self.canvas.axes.relim()
|
||||
self.canvas.figure.tight_layout()
|
||||
self.canvas.figure.canvas.draw_idle()
|
||||
if self.toolbar is not None:
|
||||
self.toolbar.update()
|
||||
self.profile = self.canvas.axes.plot(
|
||||
kp, min_max,
|
||||
color=self.color_plot_current,
|
||||
lw=1.
|
||||
)
|
||||
|
||||
def set_reach(self, reach):
|
||||
self._current_reach = reach
|
||||
|
|
@ -118,12 +124,12 @@ class PlotKPC(PamhyrPlot):
|
|||
|
||||
def set_profile(self, profile):
|
||||
self._current_profile = profile
|
||||
self.update_profil()
|
||||
self.update_current_profile()
|
||||
|
||||
def update(self):
|
||||
self.draw()
|
||||
|
||||
def update_profil(self):
|
||||
def update_current_profile(self):
|
||||
reach = self._current_reach
|
||||
kp = reach.reach.get_kp()
|
||||
z_min = reach.reach.get_z_min()
|
||||
|
|
@ -137,9 +143,7 @@ class PlotKPC(PamhyrPlot):
|
|||
[self._current_profile.z_min(), self._current_profile.z_max()],
|
||||
)
|
||||
|
||||
self.canvas.axes.relim()
|
||||
self.canvas.axes.autoscale_view()
|
||||
self.canvas.figure.canvas.draw_idle()
|
||||
self.update_idle()
|
||||
|
||||
def clear(self):
|
||||
if self.profile is not None:
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class PamhyrPlot(APlot):
|
|||
color_plot_previous = "black"
|
||||
color_plot_current = "blue"
|
||||
color_plot_next = "purple"
|
||||
color_plot_river_bottom = "grey"
|
||||
|
||||
colors = list(mplcolors.TABLEAU_COLORS)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue