Skip to main content

Helper for matplotlib subplots.

Project description

showy

showy is a helper for matplotlib subplots.

Usage

showy can be used in a script-like manner.

Let's first define the layout:

layout = {
    "title": "Example",
    "graphs": [
        {
            "curves": [{"var": "sine_10"}],
            "x_var": "time",
            "y_label": "Fifi [mol/m³/s]",
            "x_label": "Time [s]",
            "title": "Sinus of frequency *"
        },
        {
            "curves": [{"var": "sine_30"}],
            "x_var": "time",
            "y_label": "Riri [Hz]",
            "x_label": "Time [s]",
            "title": "Second graph"
        },
        {
            "curves": [
                {
                    "var": "sine_100",
                    "legend": "origin",
                },
                {
                    "var": "sine_100p1",
                    "legend": "shifted",
                }
            ],
            "x_var": "time",
            "y_label": "Loulou [cow/mug]",
            "x_label": "Time [s]",
            "title": "Third graphg"
        }
    ],
    "figure_structure": [3, 1],
    "figure_dpi": 92.6
}

Now, let's create dummy data:

import numpy as np

data = dict()
data["time"] = np.linspace(0, 0.1, num=256)

data["sine_10"] = np.cos(data["time"] * 10 * 2 * np.pi)
data["sine_30"] = np.cos(data["time"] * 30 * 2 * np.pi)
data["sine_100"] = np.cos(data["time"] * 100 * 2 * np.pi)
data["sine_100p1"] = 1. + np.cos(data["time"] * 100 * 2 * np.pi)

Finally, we just have to display it:

from showy import showy

showy(layout, data)

Tip: Define the layout in a yaml or json file in order to it across applications.

If you define it in a yaml file, then load it with (need to install pyyaml:

import yaml

with open(filename, 'r') as file:
  layout = yaml.load(file, Loader=yaml.SafeLoader)

If you define it in a json file, then load it with:

import json

with open(filename, 'r') as file:
  layout = json.load(filename)

Using wildcard *

A neat feature of showy is the wild card usage to simplify layout creation. For example, if you have 3 variables called var_1, var_2, var_3, you only need to define the graph layout for a variable var_*.

The example above reduces to:

layout = {
    "title": "Example",
    "graphs": [{
        "curves": [{"var": "sine_*"}],
        "x_var": "time",
        "y_label": "Sine [mol/m³/s]",
        "x_label": "Time [s]",
        "title": "Sinus of frequency *"
    }],
    "figure_structure": [3, 3],
    "figure_dpi": 92.6
}

json-schema standard

showy is based on a json-schema standard defined here. Check this out to learn more about the usage of the json-schema standard. (For your daily usage of showy you just need to ensure your layout respects the schema)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

showy-0.1.4.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

showy-0.1.4-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file showy-0.1.4.tar.gz.

File metadata

  • Download URL: showy-0.1.4.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.14

File hashes

Hashes for showy-0.1.4.tar.gz
Algorithm Hash digest
SHA256 821a104702abae5a0f437f5b638c12aeef617ce7ad45b3372e89457982526564
MD5 33b4d78b3082e567c375ee2339b1fdd2
BLAKE2b-256 ece4b3e0bdcbaf62427affdc7893cf84f69478c1575828201fabff8e0440531d

See more details on using hashes here.

File details

Details for the file showy-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: showy-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.14

File hashes

Hashes for showy-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ab908c656ffca89b61e1e7f2ffba906e2b1154091557bd4a1bf770aeed74d0dd
MD5 afcfa732f44a8307a35300d2536b817a
BLAKE2b-256 ed257d1498b071c319d4734ab3ba1f8aa98c3780b1a368dadbc8ca6fbdb28591

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page