Skip to main content

📊 Plotext+ - Modern Terminal Plotting

PyPi Downloads GitHubIssues GitTutorial

logo

Plotext+ plots directly in your terminal with stunning visuals, modern APIs, and professional styling. Plotext+ is a redesigned version of the original plotext library by Savino Piccolomo. New features include an updated API with object oriented features, an MCP server to make the project easily usable with AI & LLM scenarios, new themes and integration with chuk-term to make sure it works in the awesome mcp-cli by Chris Hay.

✨ Key Features

🎯 Multiple Plot Types: scatter, line, bar, histogram, candlestick, heatmap, confusion matrix, pie, doughnut and more

🎨 Rich Visuals: Banner mode, themes, colored text, automatic terminal width detection

📊 Advanced Features: Subplots, datetime plots, image/GIF display, video streaming (including YouTube)

🔧 Modern APIs: Clean public API, object-oriented charts, quick functions, 100% backward compatible

🤖 AI Integration: MCP server for direct AI client access (Claude, etc.)

⚡ Zero Dependencies: No required dependencies (optional packages for multimedia and AI integration)

subplots

🚀 Quick Start

Installation

# Modern Python package management
uv add plotext_plus

# Traditional installation
pip install plotext_plus

# With optional dependencies
pip install plotext_plus[image,video]      # Multimedia support
pip install plotext_plus[mcp]              # AI integration (MCP server)
pip install plotext_plus[image,video,mcp]  # All features

Basic Usage

import plotext_plus as plt

# Simple scatter plot
plt.scatter([1, 2, 3, 4], [1, 4, 9, 16])
plt.title("My First Plot")
plt.show()

Enhanced Visual Styling ✨

import plotext_plus as plt

# Enable beautiful banner mode
plt.banner_mode(True, "📊 Data Analysis Dashboard")

# Apply professional themes
plt.theme('professional')

# Create styled plot
plt.plot([1, 2, 3, 4], [1, 4, 2, 3], label="Data Series")
plt.title("Enhanced Line Plot")
plt.xlabel("Time")
plt.ylabel("Values")
plt.show()

Modern Chart Classes 🎯

import plotext_plus as plt

# Object-oriented chart creation with method chaining
chart = (plt.ScatterChart([1, 2, 3, 4], [1, 4, 9, 16])
         .title("Scientific Analysis")
         .xlabel("X Variable")
         .ylabel("Y Variable")
         .color('blue')
         .show())

# Quick one-liner plots
plt.quick_scatter(x_data, y_data, title="Quick Analysis")

Public API 🔧

import plotext_plus as plt

# Access organized functionality
plt.plotting.bar(categories, values)      # Main plotting functions
plt.themes.apply_theme('dark_mode')       # Theme management  
plt.utilities.log_success("Plot ready!")  # Helper utilities

AI Integration 🤖

# Install with MCP (Model Context Protocol) support  
pip install plotext_plus[mcp]

# Start the MCP server for AI clients like Claude
plotext-mcp

Use with Claude Desktop: Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "plotext-plus": {
      "command": "plotext-mcp",
      "args": [],
      "env": {}
    }
  }
}

Now AI clients can create plots directly:

"Create a scatter plot showing x=[1,2,3,4,5] vs y=[1,4,9,16,25] with title 'Quadratic Function'"

🏗️ Architecture & API

Public API Structure

# 🎯 Main Modules (Public API - no underscores)
plotext_plus.plotting    # Core plotting functions
plotext_plus.charts      # Object-oriented chart classes  
plotext_plus.themes      # Theme and styling system
plotext_plus.utilities   # Helper functions and tools

# 📁 Internal Modules (Private - with underscores)
plotext_plus._core       # Internal implementation
plotext_plus._api        # Internal API details
plotext_plus._themes     # Theme internals
# ... other internal modules

Project Structure

plotext_plus/
├── src/plotext_plus/              # Modern src-layout
│   ├── plotting.py           # 🎯 Main plotting functions (PUBLIC)
│   ├── charts.py             # 🎯 Chart classes (PUBLIC)
│   ├── themes.py             # 🎯 Theme system (PUBLIC)
│   ├── utilities.py          # 🎯 Utilities (PUBLIC)
│   └── _*.py                 # 🔒 Internal modules (PRIVATE)
├── examples/                 # Interactive demos
│   ├── interactive_demo.py   # Full interactive showcase
│   └── theme_showcase_demo.py # Theme comparison tool
├── tests/                    # Test suites
├── docs/                     # Comprehensive documentation
└── pyproject.toml            # Modern packaging

🎨 Enhanced Features

🎭 Visual Enhancements

  • Professional Banners: Automatic width detection and border styling
  • Advanced Theming: Multiple built-in themes with chuk-term integration
  • Smart Layouts: Charts automatically resize to fit terminal dimensions
  • Rich Colors: 24-bit color support with automatic fallbacks

🚀 Developer Experience

  • Clean API: Public modules clearly separated from internals
  • Method Chaining: Fluent interface for complex plot creation
  • Quick Functions: One-liner plots for rapid prototyping
  • Type Safety: Better IDE support and autocomplete
  • Zero Breaking Changes: 100% backward compatibility guaranteed

🧪 Try It Now

# Install and run interactive demo
pip install plotext_plus
python -c "
import plotext_plus as plt
plt.banner_mode(True, '🎨 Plotext Plus Demo')
plt.scatter([1,2,3,4], [1,4,2,3], color='blue')
plt.title('Welcome to Plotext Plus!')
plt.show()
"

# Run comprehensive demos
git clone https://github.com/ccmitchellusa/plotext_plus.git
cd plotext_plus
python examples/interactive_demo.py      # Full interactive showcase  
python examples/theme_showcase_demo.py   # Theme comparison

📚 Complete Documentation

🎯 Core Plotting

🖼️ Multimedia & Advanced

⚙️ Configuration & Styling

🛠️ Tools & Integration

🚀 Getting Started Guides

  1. 👋 Introduction - First steps with Plotext
  2. 📦 Installation - Setup and dependencies
  3. 🎯 Quick Examples - Jump right in with code samples
  4. 🎨 Theming Guide - Make your plots beautiful
  5. 🔧 Modern API Guide - Use the clean public interface

💡 Migration & Compatibility

For Existing Users: All your current code works unchanged! The new features are purely additive.

For New Users: Take advantage of the modern APIs and enhanced styling while learning the fundamentals.

# ✅ Your existing code still works
import plotext_plus as plt
plt.plot([1,2,3], [1,4,2])
plt.show()

# 🆕 Enhanced with new features  
plt.banner_mode(True, "📊 My Analysis")
plt.theme('professional')
plt.plot([1,2,3], [1,4,2])
plt.show()

🛠️ Development & Build System

Plotext+ includes a comprehensive build system with modern tooling. See Build Documentation for complete setup, testing, publishing, and deployment instructions.

Metadata

Release files for plotext-plus 1.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plotext-plus 1.0.14
File Size Uploaded
plotext_plus-1.0.14.tar.gz 177.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plotext-plus 1.0.14
File Interpreter ABI Platform
plotext_plus-1.0.14-py3-none-any.whl Python 3 none any Details

Total release size: 296.9 kB

Release files / plotext_plus-1.0.14.tar.gz

Download URL plotext_plus-1.0.14.tar.gz
Size 177.6 kB
Tags Source
SHA-256 checksum
How to use checksums
df8c3c9e3424b856280ca810bcedc46c61283f7668f2b98e8259b7220b30fcf4
BLAKE2b-256 checksum
How to use checksums
af559eb241156280d70a0d1a67a983bf39e96d16d26fd1da050a1ce845ed943c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / plotext_plus-1.0.14-py3-none-any.whl

Download URL plotext_plus-1.0.14-py3-none-any.whl
Size 119.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
748859c9e6aabfa04b5f21df156d9f275d5f475465cf11721bc9354f51b74e01
BLAKE2b-256 checksum
How to use checksums
711311e231a51f8098c40bd9f1e16417a7bf6791ac10c62b6f2cbb1b2618c193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

1.0.14 This release

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page