Quickstart

Install:

pip install git+https://github.com/matomatical/matthewplotlib.git

Import the library:

import matthewplotlib as mp

Construct a plot:

import numpy as np
            
            xs = np.linspace(-2*np.pi, +2*np.pi, 156)
            
            plot = mp.axes(
                mp.scatter(
                    (xs, 1.0 * np.cos(xs), "red"),
                    (xs, 0.9 * np.cos(xs - 0.33 * np.pi), "magenta"),
                    (xs, 0.8 * np.cos(xs - 0.66 * np.pi), "blue"),
                    (xs, 0.7 * np.cos(xs - 1.00 * np.pi), "cyan"),
                    (xs, 0.8 * np.cos(xs - 1.33 * np.pi), "green"),
                    (xs, 0.9 * np.cos(xs - 1.66 * np.pi), "yellow"),
                    width=75,
                    height=10,
                    yrange=(-1,1),
                ),
                title=" y = cos(x + 2πk/6) ",
                xlabel="x",
                ylabel="y",
            )

Print to terminal:

print(plot)

Export to PNG image:

plot.saveimg("images/quickstart.png")

Animated version:

import time
            import numpy as np
            import matthewplotlib as mp
            
            x = np.linspace(-2*np.pi, +2*np.pi, 150)
            
            plot = None
            while True:
                k = (time.time() % 3) * 2
                A = 0.85 + 0.15 * np.cos(k)
                y = A * np.cos(x - 2*np.pi*k/6)
                c = mp.rainbow(1-k/6)
            
                if plot is not None:
                    print(-plot, end="")
                plot = mp.axes(
                    mp.scatter(
                        (x, y, c),
                        width=75,
                        height=10,
                        yrange=(-1,1),
                    ),
                    title=f" y = {A:.2f} cos(x + 2π*{k:.2f}/6) ",
                    xlabel="x",
                    ylabel="y",
                )
                print(plot)
            
                time.sleep(1/20)