diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 9bc9331e..a9273176 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -201,7 +201,7 @@ class Mage(AbstractSolver):
f.write(f"*{header[0]:>9}|{header[1]:>10}\n")
for d in bound.data:
- f.write(f"{d[0]:10.3f}{d[1]:10.3f}\n")
+ f.write(f"{d[0]:10}{d[1]:10}\n")
return files
diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py
index dcc9f7f6..47c3f1bf 100644
--- a/src/View/Results/PlotH.py
+++ b/src/View/Results/PlotH.py
@@ -19,6 +19,7 @@
import logging
from functools import reduce
+from datetime import datetime
from tools import timer, trace
from View.Plot.APlot import APlot
@@ -34,14 +35,14 @@ logger = logging.getLogger()
class PlotH(APlot):
def __init__(self, canvas=None, results=None,
reach_id=0, profile_id=0,
- toolbar=None, display_current=True):
+ toolbar=None):
super(PlotH, self).__init__(
canvas=canvas,
data=results,
toolbar=toolbar
)
- self.display_current = display_current
+ self._mode = "time"
self._current_timestamp = max(results.get("timestamps"))
self._current_reach_id = reach_id
@@ -99,6 +100,10 @@ class PlotH(APlot):
)
return
+ self.canvas.axes.set_ylim(
+ [min(min(y),0), max(y)]
+ )
+
self._line = [
self.canvas.axes.plot(
x, y, lw=1.,
@@ -107,8 +112,47 @@ class PlotH(APlot):
)
]
- self.canvas.axes.autoscale_view(True, True, True)
- self.canvas.axes.autoscale()
+ # Custom time display
+ nb = len(x)
+ mod = int(nb / 5)
+ mod = mod if mod > 0 else nb
+
+ fx = list(
+ map(
+ lambda x: x[1],
+ filter(
+ lambda x: x[0] % mod == 0,
+ enumerate(x)
+ )
+ )
+ )
+
+ if self._mode == "time":
+ t0 = datetime.fromtimestamp(0)
+ xt = list(
+ map(
+ lambda v: (
+ str(
+ datetime.fromtimestamp(v) - t0
+ ).split(",")[0]\
+ .replace("days", _translate("Results", "days"))\
+ .replace("day", _translate("Results", "day"))
+ ),
+ fx
+ )
+ )
+ else:
+ xt = list(
+ map(
+ lambda v: str(datetime.fromtimestamp(v).date()),
+ fx
+ )
+ )
+
+ self.canvas.axes.set_xticks(ticks=fx, labels=xt, rotation=45)
+
+ # self.canvas.axes.autoscale_view(True, True, True)
+ # self.canvas.axes.autoscale()
self.canvas.figure.tight_layout()
self.canvas.figure.canvas.draw_idle()
if self.toolbar is not None:
diff --git a/src/View/ui/Widgets/extendedTimeEdit.ui b/src/View/ui/Widgets/extendedTimeEdit.ui
index 493a96a1..eddf3892 100644
--- a/src/View/ui/Widgets/extendedTimeEdit.ui
+++ b/src/View/ui/Widgets/extendedTimeEdit.ui
@@ -28,6 +28,9 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ 999999
+
-