Skip to main content

Intuitive automatic plotting for arrays of any dimensionality

Project description

alltheplots - Quick & Automatic Plots for All Array Dimensionalities

GitHub GitHub contributors GitHub issues GitHub pull requests CI

Alt Text

Report Bug · Request Feature

Table of Contents
  1. About the Project
  2. Installation
  3. Examples
  4. Dependencies
  5. Contributing
  6. License
  7. Contact

About the Project

alltheplots provides an extremely simple Python interface for creating quick visualizations from numerical arrays, automatically detecting dimensionality (1D, 2D, 3D, 4D, nD) and providing commonly used plots.

The core goal of alltheplots is to abstract away the plotting details, letting you instantly visualize your data without having to remember specific plot types or parameters. It wraps seaborn and matplotlib, providing a user-friendly layer which typically sensible default plots.

  • Simple: Single public .plot() function.
  • Automatic: Detects array dimensionality and chooses appropriate plots automatically.
  • Flexible: Supports numpy-like arrays from libraries such as numpy, pytorch, TensorFlow, jax, and cupy seamlessly.
  • Minimal dependencies: built on top of matplotlib, numpy, scipy, seaborn, scikit-learn, and umap-learn.

Installation

You can install the latest release using pip:

pip install alltheplots

Alternatively, install directly from source (Git required):

git clone https://github.com/gomezzz/alltheplots.git
cd alltheplots
pip install -e .

Examples

Below are a few quick examples demonstrating typical usage.

Basic Usage

Generate standard plots automatically based on the dimensionality of your data.

import numpy as np
from alltheplots import plot

data = np.random.randn(1000)
plot(data)

Saving Plot to File

You can easily save plots to file:

plot(data, filename="my_plot.png", dpi=300)

Custom Theme

Users are encouraged to manage the visual style externally by setting global themes in matplotlib or seaborn. For example:

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="ticks", palette="deep")
plt.style.use("dark_background")

# Then call the plot function
plot(data)

This approach provides more flexibility and aligns with best practices for managing plot aesthetics.

Example Notebooks

For more detailed examples, check out the notebooks in the examples/ directory:

  • 1D Examples - Visualizing 1D arrays with time-domain, frequency-domain, and distribution plots
  • 2D Examples - Visualizing 2D arrays with heatmaps, contours, and 3D surface plots
  • 3D Examples - Visualizing 3D arrays with slice views, projections, and distribution analysis
  • nD Examples - Visualizing high-dimensional arrays with dimensionality reduction techniques

These notebooks provide comprehensive examples of the various visualization capabilities and can help you understand how to best use the library for your specific data.

Dependencies

  • matplotlib - Core plotting library
  • numpy - Array manipulation
  • scipy - Scientific computing
  • seaborn - Statistical data visualization
  • scikit-learn - Machine learning for dimensionality reduction
  • umap-learn - UMAP dimensionality reduction for high-dimensional data
  • loguru - Logging

Contributing

Contributions are welcome! Please open issues and submit PRs at the GitHub repository.

License

Distributed under the GPL 3 License. See LICENSE for more information.

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

alltheplots-0.1.0.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alltheplots-0.1.0-py3-none-any.whl (81.8 kB view details)

Uploaded Python 3

File details

Details for the file alltheplots-0.1.0.tar.gz.

File metadata

  • Download URL: alltheplots-0.1.0.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for alltheplots-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65203891a56734094b49ba547ffeceea1bcde318c3ff61381e9aee86fe1bc5a6
MD5 d5f237ebd33354e3b6af5f3984bac94a
BLAKE2b-256 f20c42a859375fa609bf171f7c068613315bde455bc137a3a20ff6952cdb380e

See more details on using hashes here.

File details

Details for the file alltheplots-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: alltheplots-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 81.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for alltheplots-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9ca9cd2ff43e99b6cd29f65fef87d23d4ca4e15eb502fe2bc549ed689c603da
MD5 2a699a0c5b15e6ee04aefe4b03e97c0c
BLAKE2b-256 3208f646554826540b22105be16235fb5f896d19f9accc317f3c07e78843047a

See more details on using hashes here.

Supported by

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