Skip to main content

A Python library for enhancing Matplotlib with additional features.

Project description

MatplotKit

MatplotKit is a lightweight Python library designed to enhance Matplotlib with additional features and utilities, making data visualization more convenient and elegant.

Features

  • Decorators for Plot Functions

    • @with_axes decorator automatically handles axes creation
    • Simplifies plot function implementation
    • Customizable figure size support
  • 📊 Enhanced Annotations

    • Easy-to-use diagonal line addition
    • More annotation utilities coming soon
  • 📈 Taylor Diagram Support

    • Comprehensive implementation of Taylor diagrams
    • Perfect for model evaluation and comparison
    • Customizable styling options

Installation

Install MatplotKit using pip:

pip install matplotkit

Quick Start

Here's a simple example of using MatplotKit:

import matplotlib.pyplot as plt
from matplotkit import with_axes, add_diagonal_line

# Using the decorator to automatically handle axes
@with_axes(figsize=(8, 6))
def scatter_plot(x, y, ax=None):
    ax.scatter(x, y)
    # Add a diagonal line with custom style
    add_diagonal_line(ax, color='red', linestyle='--', alpha=0.5)
    return ax

# Your plotting code
x = [1, 2, 3, 4, 5]
y = [1.1, 2.2, 2.9, 4.1, 5.2]
scatter_plot(x, y)
plt.show()

Requirements

  • Python >= 3.8.1
  • Matplotlib ~3.0

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Shuang (Twist) Song

Citation

If you use MatplotKit in your research, please cite it as:

@software{matplotkit2024,
  author = {Song, Shuang},
  title = {MatplotKit: Enhanced Matplotlib Utilities},
  year = {2024},
  publisher = {GitHub},
  url = {https://github.com/SongshGeo/matplotkit}
}

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

matplotkit-0.2.0.tar.gz (306.2 kB view details)

Uploaded Source

Built Distribution

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

matplotkit-0.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file matplotkit-0.2.0.tar.gz.

File metadata

  • Download URL: matplotkit-0.2.0.tar.gz
  • Upload date:
  • Size: 306.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for matplotkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a5a2a032b8ecfac48b5211aaa663b661ad7da2a5b0e06f1ea5fe3955ae67aa00
MD5 6ade10e1c0116322265358f0b420d454
BLAKE2b-256 73107b096322253081aa3c5746b3636c9c6aff22ea8307def12e759c964181e7

See more details on using hashes here.

File details

Details for the file matplotkit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: matplotkit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for matplotkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a3773f7d46c26df46eb5b481b6106c58af610e0a4e516309ca1382e6051c209
MD5 9b8a5172c2e379a48f908427167816f5
BLAKE2b-256 1f5f979afc6858d71fe227ac1e4697d4aab6eb679a23b46b43c92112e87fc00e

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