An intelligent plotting package with suggestions and explanations
Project description
🌟 PlotSense: AI-Powered Data Visualization Assistant
📌 Overview
PlotSense is an AI-powered assistant that helps data professionals and analysts make smarter, faster, and more explainable data visualizations. Whether you're exploring a new dataset or building dashboards, PlotSense simplifies the process with:
- ✅ Smart Visualization Suggestions - Recommends the best plots based on your data structure and relationships.
- 🧠 Natural Language Explanations – Automatically explains charts in plain English.
- 🔗 Seamless Integration – Works out of the box with pandas, matplotlib, and seaborn.
Let AI supercharge your EDA (Exploratory Data Analysis).
⚡ Quickstart
🔧 Install the package
pip install plotsense
🧠 Import PlotSense:
import plotsense as ps
from plotsense import recommender, plotgen, explainer
🔐 Authenticate with Groq API:
Get your free API key from Groq Cloud https://console.groq.com/home
import os
# Set GROQ_API_KEY environment variable
os.environ['GROQ_API_KEY'] = 'your-api-key-here'
#or
# Set API key (one-time setup)
ps.set_api_key("your-api-key-here")
🚀 Core Features
🎯 1. AI-Recommended Visualizations
Let PlotSense analyze your data and suggest optimal charts.
import pandas as pd
# Load your dataset (e.g., pandas DataFrame)
df = pd.read_csv("data.csv")
# Get AI-recommended visualizations
suggestions = ps.recommender(df) # default number of suggestions is 5
print(suggestions)
📊 Sample Output:
🎛️ Want more suggestions?
suggestions = ps.recommender(df, n=10)
📈 2. One-Click Plot Generation
Generate recommended charts instantly:
plot1 = ps.plotgen(df, suggestions.iloc[0]) # This will plot a bar chart with variables 'survived', 'pclass'
plot2 = ps.plotgen(df, suggestions.iloc[1]) # This will plot a bar chart with variables 'survived', 'sex'
plot3 = ps.plotgen(df, suggestions.iloc[2]) # This will plot a histogram with variable 'age'
🎛️ Want more control?
plot1 = ps.plotgen(df, suggestions.iloc[0], x='pclass', y='survived')
Supported Plots
- scatter
- bar
- barh
- histogram
- boxplot
- violinplot
- pie
- hexbin
🧾 3. AI-Powered Plot Explanation
Turn your visualizations into stories with natural language insights:
explanation = ps.explainer(plot1)
print(explanation)
⚙️ Advanced Options
- Custom Prompts: You can provide your own prompt to guide the explanation
explanation = explainer(
fig,
prompt="Explain the key trends in this sales data visualization"
)
- Multiple Refinement Iterations: Increase the number of refinement cycles for more polished explanations:
explanation = explainer(fig, max_iterations=3) # Default is 2
🔄 Combined Workflow: Suggest → Plot → Explain
suggestions = ps.recommender(df)
plot = ps.plotgen(df, suggestions.iloc[0])
insight = ps.explainer(plot)
🤝 Contributing
We welcome contributions!
Branching Strategy
- main → The stable production-ready version of PlotSense.
- dev → Active development
- feature/ → Branches for specific features (e.g., feature/ai-visualization-suggestions).
💡 How to Help
- 🐞 Bug Reports → GitHub Issues
- 💡 Suggest features → Open a discussion
- 🚀 Submit PRs → Fork → Branch → Test → Pull Request
📅 Roadmap
- More model integrations
- Automated insight highlighting
- Jupyter widget support
- Features/target analysis
- More supported plots
📥 Install or Update
pip install --upgrade plotsense # Get the latest features!
🛡 License
Apache License 2.0
🔐 API & Privacy Notes
- Your API key is securely held in memory for your current Python session.
- All requests are processed via Groq's API servers—no data is stored locally by PlotSense.
- Requires an internet connection for model-backed features.
Let your data speak—with clarity, power, and PlotSense. 📊✨
Your Feedback
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 plotsense-0.1.3.tar.gz.
File metadata
- Download URL: plotsense-0.1.3.tar.gz
- Upload date:
- Size: 35.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0e9a1d407d1cd5c5437d5bc1c94b66d3ea63cdd1529a2aadafa3bbf7ecf84da
|
|
| MD5 |
a9b263fcd34a7c1cc141f373a111d9fc
|
|
| BLAKE2b-256 |
5924c824309e4e17e99d50bb135adca8f1ded3767ac6ff72f8445bddf0bebb26
|
File details
Details for the file plotsense-0.1.3-py3-none-any.whl.
File metadata
- Download URL: plotsense-0.1.3-py3-none-any.whl
- Upload date:
- Size: 36.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a660fc13935a7d51da9333c34715fe485f8dd4892931ac7ac7c0099f81370fc7
|
|
| MD5 |
622711d5b0de8b628f29f83dfdaa6eb0
|
|
| BLAKE2b-256 |
31ff4dfc8897f9480cd0055aab3b1ecb7bd18fe2fdc97ec8e23f774394840b8a
|