Skip to main content

A Fast and Fully Controlled Data Visualization Library

Project description

BlazingPlot

Test PyPI version Python Version License: MIT

A Fast and Fully Controlled Data Visualization Library built on top of Plotly, Dash, and Polars.

Features

  • Interactive dashboards in both Jupyter Notebooks and standalone web applications
  • High-performance data transformations using Polars
  • Customizable visualizations with full control over chart elements
  • Export capabilities for charts (PNG, HTML) and data (CSV)
  • Customizable color palettes
  • Modular, object-oriented design for extensibility

Installation

pip install blazingplot

Quick Start

import polars as pl
from blazingplot import Dashboard

# Create a sample DataFrame
data = pl.DataFrame({
    'x': [1, 2, 3, 4, 5],
    'y': [10, 20, 15, 25, 30],
    'category': ['A', 'B', 'A', 'B', 'A']
})

# Create a dashboard
dashboard = Dashboard(data, title="My Dashboard")

# Run the dashboard in a Jupyter notebook
dashboard.run(mode="jupyter")

# Or run as a standalone web application
# dashboard.run(mode="standalone", port=8050)

Visualization Types

BlazingPlot supports the following visualization types:

  • Scatter Plot
  • Line Chart
  • Bar Chart
  • Bubble Chart
  • Pie Chart
  • Box Plot
  • Histogram
  • 2D Histogram
  • Time Series
  • Stock Chart
  • Error Bars
  • Map Visualizations (Bubble Map, Tile Choropleth, Line on Tiles)
  • Tables (Simple Table, Pivot Table)

Using Individual Visualizations

You can also use the visualization classes directly:

from blazingplot.visualizations.base import ScatterPlot

# Create a scatter plot
scatter = ScatterPlot(data, x='x', y='y', color='category', title="My Scatter Plot")

# Plot the visualization
fig = scatter.plot()

# Export to HTML
scatter.export_html("scatter.html")

# Export to PNG
scatter.export_png("scatter.png")

Dashboard Layout

The dashboard is divided into three main sections:

  1. Column Selector: Select columns from your dataset
  2. Visualization Controls: Configure your visualization
  3. Visualization Display: View and interact with your visualization

Performance

BlazingPlot is designed for performance, leveraging Polars for data transformations and Plotly for rendering. It can handle large datasets efficiently.

Customization

You can customize the appearance of your visualizations using color palettes:

# Create a dashboard with a custom color palette
dashboard = Dashboard(data, title="My Dashboard", custom_palette="viridis")

Development

Setup

  1. Clone the repository
git clone https://github.com/username/blazingplot.git
cd blazingplot
  1. Install development dependencies
pip install -e ".[dev]"

Testing

pytest

Building

python -m build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

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

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

blazingplot-0.1.0.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

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

blazingplot-0.1.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for blazingplot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a5d7e46968d76d4edd5e3e9bed1cd9874f5521e799585c091275e8120ea45798
MD5 c2a0d682bebc3b60f15a15472453794f
BLAKE2b-256 a2945bcc998ee3f749e4ca64aa9f0d76c4d82b8c7d3ee1b012c8b265392a1a2d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for blazingplot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2b3a0f4215a57ebefb6a2d46b1c4275148338b2143cbb16b8e09076d719bb0f
MD5 8c12bcafc7e8cc2d2e117d8b71e2b7bf
BLAKE2b-256 0f5f0c64226515f08727978f4132a285316ec44cb2e08ae7bd929522611ecd52

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