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