Declarative, objected-oriented interface to matplotlib
Project description
matplotobjlib
This module is a wrapper for matplotlib, that enables creating plots in an easier declarative, more object-oriented format.
All functions and types are importable directly from matplotobjlib. The easiest way to get started is with matplotoblib.draw(...). This function takes either a single Suplot object or a 2d sequence of Subplots where each inner sequence represents a row. Each Subplot consists of 1 or more Plotables, the most useful being Graph.
# examples/sin.py
from matplotobjlib import draw, Graph, SubPlot
import numpy as np
xs = np.arange(-2*np.pi, 2*np.pi, 0.01)
ys = np.sin(xs)
draw(SubPlot(Graph(xs, ys, plot_type="-"), x_label="x", y_label="sin(x)"), title="sin")
# examples/trig.py
from matplotobjlib import draw, Graph, SubPlot
import numpy as np
xs = np.arange(-2*np.pi, 2*np.pi, 0.01)
draw(
[
[
SubPlot(Graph(xs, np.sin(xs), plot_type="-"), x_label="x", y_label="sin(x)"),
SubPlot(Graph(xs, np.cos(xs), plot_type="-"), x_label="x", y_label="cos(x)"),
],
[
SubPlot(Graph(xs, np.tan(xs), plot_type="-"), x_label="x", y_label="tan(x)"),
SubPlot(Graph(xs, np.arcsin(xs), plot_type="-"), x_label="x", y_label="sin$^{-1}$(x)"),
]
],
title="Trigonometry",
)
Additionally, for more control over the window, it can be accessed as a tkinter widget through TkFigure. The draw(...) function even uses this internally.
# examples/widget.py
import tkinter as tk
import numpy as np
from matplotobjlib import Graph, SubPlot, TkFigure
ts = np.arange(0, 10, 0.01)
xs = [t * np.cos(t) for t in ts]
ys = [t * np.sin(t) for t in ts]
root = tk.Tk()
widget = TkFigure(
root, [[SubPlot(Graph(xs, ys, plot_type="-"), x_label="t*cos(t)", y_label="t*sin(t)")]], title="examples/widget.py"
)
widget.pack(expand=tk.YES, fill=tk.BOTH)
root.mainloop()
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file matplotobjlib-1.0.1.tar.gz.
File metadata
- Download URL: matplotobjlib-1.0.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe902b0ed588fc57d9ffac051ecca9f34853a36a95293f4d0774da579340a8de
|
|
| MD5 |
b3a0cce3c8cce9b79bb2754e36f081f4
|
|
| BLAKE2b-256 |
04fe6c624ef98bdda26359be87a33f0d1a4c4d3a7db7119e4639928e5b4bf57a
|
File details
Details for the file matplotobjlib-1.0.1-py3-none-any.whl.
File metadata
- Download URL: matplotobjlib-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1866d6ad2e010c7c832dc4569d2809112d334c0a3bf86f3df6f971d0491510e6
|
|
| MD5 |
e361735a91d94ca3eff61a3cef711ae7
|
|
| BLAKE2b-256 |
14dba617ca5d8403639b55ce367fc2cc491111acfbc56e395003710842e62fb0
|