From 3b5be804e225e8e3bd208b9e7c7c8ab6e70ebe37 Mon Sep 17 00:00:00 2001 From: Ignace Date: Sat, 22 Aug 2026 12:08:46 +0200 Subject: [PATCH] betrter y-axis labels --- HOWTO.md | 7 +++++-- config.yaml | 6 +++++- read_temperature.py | 4 ++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index e2649d7..beb9c44 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -404,8 +404,11 @@ samples existed before the RRD was created. Temperature uses the left axis with a default range of 0–30°C. Humidity and battery use the right axis with a default range of 0–100%. These ranges and -labels can be changed in `config.yaml` under `graph.axes`. Light-grey reference -lines are drawn at 15, 20, and 25°C by default and can be changed under +labels can be changed in `config.yaml` under `graph.axes`. Temperature grid +labels default to five-degree intervals, and both axes display integers. Since +RRDtool ties the right axis to the left, the corresponding percentage labels +are rounded to integers. Light-grey reference lines are drawn at 15, 20, and +25°C by default and can be changed under `graph.axes.temperature.reference_lines`. The collector also generates `/var/www/html/sensors/index.html`. It displays diff --git a/config.yaml b/config.yaml index 643317d..f9df1f9 100644 --- a/config.yaml +++ b/config.yaml @@ -78,6 +78,9 @@ graph: minimum: 0 maximum: 30 label: degrees C + grid_interval: 5 + label_every_grid_lines: 1 + number_format: "%.0lf" reference_lines: - value: 15 color: D3D3D3 @@ -86,9 +89,10 @@ graph: - value: 25 color: D3D3D3 percentage: - minimum: 0 + minimum: 10 maximum: 100 label: percent + number_format: "%.0lf" periods: day: start: end-1d diff --git a/read_temperature.py b/read_temperature.py index 3de1517..152bcea 100644 --- a/read_temperature.py +++ b/read_temperature.py @@ -226,8 +226,12 @@ def render_graphs(sensor: Sensor, rrd_path: Path, config: Config) -> None: "--end", str(graph["end"]), "--title", f"{sensor.name} - {period['label']}", "--vertical-label", str(temperature_axis["label"]), + "--y-grid", + f"{temperature_axis['grid_interval']}:{temperature_axis['label_every_grid_lines']}", + "--left-axis-format", str(temperature_axis["number_format"]), "--right-axis", f"{right_axis_scale}:{right_axis_shift}", "--right-axis-label", str(percentage_axis["label"]), + "--right-axis-format", str(percentage_axis["number_format"]), "--lower-limit", str(temperature_minimum), "--upper-limit", str(temperature_maximum), "--rigid",