← Back to all products

Data Visualizer

$29

Pure Python SVG chart generator for line, bar, pie, and scatter charts from JSON/CSV data.

📁 10 files
MarkdownPython

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 10 files

data-visualizer/ ├── LICENSE ├── README.md ├── examples/ │ └── sample_chart_data.csv ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_quick-start.md │ ├── 03_input-format.md │ └── 04_faq.md ├── index.html └── src/ └── data_visualizer.py

📖 Documentation Preview README excerpt

Data Visualizer

Pure Python SVG chart generator: create publication-ready line, bar, pie, and scatter charts from JSON/CSV data. Zero external dependencies.

Features

  • Four chart types — Bar, line, pie, and scatter plots
  • Pure SVG output — Scalable vector graphics, works in any browser or image viewer
  • Auto-detection — Picks sensible column defaults from your data
  • Nice axis ticks — Automatically rounds tick values for clean labels (100, 200, 300 not 97, 194, 291)
  • Dark theme — Designed for dark backgrounds with high-contrast colors
  • Multi-series line charts — Compare multiple data series on one chart
  • Smart number formatting — 1,500,000 becomes 1.5M, 2,300 becomes 2.3K
  • 10-color palette — Accessibility-tested colors with enough contrast
  • CLI-friendly — One command to generate a chart

Requirements

  • Python 3.10+
  • No external dependencies (stdlib only)

Quick Start


# Bar chart from CSV
python src/data_visualizer.py --data examples/sample_chart_data.csv --chart bar --x month --y revenue

# Line chart
python src/data_visualizer.py --data examples/sample_chart_data.csv --chart line --x month --y revenue

# Pie chart
python src/data_visualizer.py --data examples/sample_chart_data.csv --chart pie --label month --value revenue

# Scatter plot
python src/data_visualizer.py --data data.csv --chart scatter --x users --y revenue --title "Users vs Revenue"

# Custom output and color
python src/data_visualizer.py --data data.json --chart bar --output dashboard_chart.svg --color "#FF3366"

Chart Types

TypeBest ForRequired Columns
barCategorical comparisons (revenue by month)x (labels), y (values)
lineTime series trends (growth over time)x (labels), y (values)
piePart-of-whole (market share, budget)label, value
scatterCorrelation analysis (users vs revenue)x (numeric), y (numeric)

Input Format

Any JSON array or CSV with at least 2 columns:


month,revenue,users
Jan,42500,185
Feb,45800,201
Mar,48200,218

... continues with setup instructions, usage examples, and more.

📄 Code Sample .py preview

src/data_visualizer.py #!/usr/bin/env python3 """ Data Visualizer — Analytics Hub (DataNest) Pure Python SVG chart generator: line, bar, pie, and scatter charts from JSON/CSV data. Publication-ready graphics with no external dependencies. Usage: python data_visualizer.py --data sales.csv --chart bar --x month --y revenue python data_visualizer.py --data metrics.json --chart line --output chart.svg python data_visualizer.py --data survey.csv --chart pie --label category --value count Dependencies: Python 3.10+ stdlib only (no pip packages) License: MIT """ from __future__ import annotations import argparse import csv import json import logging import math import sys from dataclasses import dataclass, field from pathlib import Path from typing import Any logger = logging.getLogger("data_visualizer") # --------------------------------------------------------------------------- # Configuration — chart dimensions and styling # --------------------------------------------------------------------------- # Default chart dimensions (SVG viewBox units, not pixels) DEFAULT_WIDTH = 800 DEFAULT_HEIGHT = 500 PADDING = 60 # Color palette — carefully chosen for accessibility and dark backgrounds. # Each color has enough contrast against both dark (#0A0E1A) and light (#FFF). COLORS = [ "#00E5FF", # Cyan (brand) "#FF3366", # Pink "#FFD600", # Yellow "#00E676", # Green "#7C4DFF", # Purple "#FF6D00", # Orange "#448AFF", # Blue "#FF4081", # Hot pink "#69F0AE", # Mint # ... 577 more lines ...
Buy Now — $29 Back to Products