From 2e683d484a84181399e7fcd7bb0e92992f9a89da Mon Sep 17 00:00:00 2001
From: Tammo Jan Dijkema <T.J.Dijkema@gmail.com>
Date: Thu, 22 Feb 2024 12:44:17 +0100
Subject: [PATCH] Make title an option, larger font

---
 power_plot.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/power_plot.py b/power_plot.py
index 5ade44f..39743c8 100755
--- a/power_plot.py
+++ b/power_plot.py
@@ -14,7 +14,7 @@ import matplotlib
 import matplotlib.pyplot as plt
 from matplotlib.widgets import Button, CheckButtons
 from matplotlib.collections import LineCollection
-from matplotlib.dates import date2num, num2date, AutoDateFormatter
+from matplotlib.dates import date2num, num2date, ConciseDateFormatter
 from matplotlib.figure import Figure
 
 from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QComboBox
@@ -31,6 +31,7 @@ from datetime import datetime
 
 from argparse import ArgumentParser
 
+plt.rcParams.update({'font.size': 14})
 
 class PowerPlot:
     """A power plot with two time scales"""
@@ -42,8 +43,7 @@ class PowerPlot:
         self.ax.set_ylabel(yname)
         self.ax.xaxis_date()
 
-        formatter = AutoDateFormatter(self.ax.xaxis.get_major_locator())
-        formatter.scaled[1 / (24 * 60)] = "%H:%M"
+        formatter = ConciseDateFormatter(self.ax.xaxis.get_major_locator())
 
         self.ax.xaxis.set_major_formatter(formatter)
         if offset is not None:
@@ -96,7 +96,7 @@ class MyToolbar(NavigationToolbar):
 class PowerPlotMainWindow(QMainWindow):
     """QT Application that reads data from stdin, plots in a PowerPlot"""
 
-    def __init__(self, offset=None, col_num=1, first_time=None, duration=2):
+    def __init__(self, offset=None, col_num=1, first_time=None, duration=2, title=None):
         super().__init__()
         self.setStyleSheet("background-color: white;")
         self.autoscale_x = True
@@ -155,7 +155,9 @@ class PowerPlotMainWindow(QMainWindow):
 
         # fig.canvas.manager.set_window_title("Dwingeloo Radio Telescope")
 
-        self.powerplot = PowerPlot(fig, yname, offset=offset)
+        if title is None:
+            title = yname
+        self.powerplot = PowerPlot(fig, title, offset=offset)
 
         self.read_stdin()
         self.stdin_notifier = QSocketNotifier(
@@ -210,6 +212,7 @@ if __name__ == "__main__":
     parser.add_argument("-o", "--offset", help="Offset along y-axis", type=float, default=None)
     parser.add_argument("-s", "--start", help="Start time (default: now)", type=datetime.fromisoformat, default=None)
     parser.add_argument("-d", "--duration", help="Duration in hours (default: 2", default=2, type=float)
+    parser.add_argument("-t", "--title", help="Plot title", default=None)
 
     args = parser.parse_args()
 
@@ -221,7 +224,7 @@ if __name__ == "__main__":
         app.setWindowIcon(QtGui.QIcon(icon_path))
     except:
         pass
-    main_window = PowerPlotMainWindow(offset=args.offset, first_time=args.start, duration=args.duration)
+    main_window = PowerPlotMainWindow(offset=args.offset, first_time=args.start, duration=args.duration, title=args.title)
     main_window.show()
     signal.signal(signal.SIGINT, handle_interrupt_signal)
 
-- 
GitLab