A Fast and Fully Controlled Data Visualization Library
Project description
BlazingPlot
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:
- Column Selector: Select columns from your dataset
- Visualization Controls: Configure your visualization
- 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
- Clone the repository
git clone https://github.com/username/blazingplot.git
cd blazingplot
- 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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d7e46968d76d4edd5e3e9bed1cd9874f5521e799585c091275e8120ea45798
|
|
| MD5 |
c2a0d682bebc3b60f15a15472453794f
|
|
| BLAKE2b-256 |
a2945bcc998ee3f749e4ca64aa9f0d76c4d82b8c7d3ee1b012c8b265392a1a2d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2b3a0f4215a57ebefb6a2d46b1c4275148338b2143cbb16b8e09076d719bb0f
|
|
| MD5 |
8c12bcafc7e8cc2d2e117d8b71e2b7bf
|
|
| BLAKE2b-256 |
0f5f0c64226515f08727978f4132a285316ec44cb2e08ae7bd929522611ecd52
|