Unverified Commit 530110b8 authored by Daniel Friesel's avatar Daniel Friesel
Browse files

add optional dark mode

parent 58fc39a8
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -52,6 +52,8 @@ import time


terminate_measurement = False
terminate_measurement = False


matplotlib_theme = "fast"



def running_mean(x: np.ndarray, N: int) -> np.ndarray:
def running_mean(x: np.ndarray, N: int) -> np.ndarray:
    """
    """
@@ -308,7 +310,7 @@ def measure_data(
    if live_view:
    if live_view:
        import matplotlib.pyplot as plt
        import matplotlib.pyplot as plt


        plt.style.use("dark_background")
        plt.style.use(matplotlib_theme)


        timestamps = list()
        timestamps = list()
        voltages = list()
        voltages = list()
@@ -427,6 +429,8 @@ def measure_data(
def plot_data(data, mode):
def plot_data(data, mode):
    import matplotlib.pyplot as plt
    import matplotlib.pyplot as plt


    plt.style.use(matplotlib_theme)

    if mode == "U":
    if mode == "U":
        (datahandle,) = plt.plot(data[:, 0], data[:, 1], "b-", label="U", markersize=1)
        (datahandle,) = plt.plot(data[:, 0], data[:, 1], "b-", label="U", markersize=1)
        (meanhandle,) = plt.plot(
        (meanhandle,) = plt.plot(
@@ -650,6 +654,9 @@ def main():
        choices=["U", "I", "P", "UI", "UP", "IU", "IP"],
        choices=["U", "I", "P", "UI", "UP", "IU", "IP"],
        help="Plot voltage / current / power over time or voltage vs current / current vs voltage",
        help="Plot voltage / current / power over time or voltage vs current / current vs voltage",
    )
    )
    parser.add_argument(
        "--dark-mode", action="store_true", help="Show plots on a dark background"
    )
    parser.add_argument(
    parser.add_argument(
        "duration", type=int, nargs="?", help="Measurement duration in seconds"
        "duration", type=int, nargs="?", help="Measurement duration in seconds"
    )
    )
@@ -660,6 +667,10 @@ def main():
        print("Either --load or duration must be specified", file=sys.stderr)
        print("Either --load or duration must be specified", file=sys.stderr)
        sys.exit(1)
        sys.exit(1)


    if args.dark_mode:
        global matplotlib_theme
        matplotlib_theme = "dark_background"

    current_range = parse_range(args.current_range)
    current_range = parse_range(args.current_range)
    voltage_range = parse_range(args.voltage_range)
    voltage_range = parse_range(args.voltage_range)