CLI Guide¶
Create charts from the command line without writing Python code.
Installation¶
pip install charted
Basic Usage¶
Create a Single Chart¶
# Bar chart from CSV
python -m charted create bar sales.svg --data sales.csv
# Column chart from JSON
python -m charted create column data.svg --data data.json
# Line chart with custom title
python -m charted create line trend.svg -d trend.csv --title "Sales Trend"
Batch Process¶
Process an entire directory of data files:
# Infer chart type from filename
python -m charted batch ./data ./output
# Force specific chart type
python -m charted batch ./data ./output --chart-type line
# Use custom config
python -m charted batch ./data ./output --config .chartedrc.toml
Data Formats¶
CSV Format¶
CSV Format:
Quarter,Q1,Q2,Q3,Q4
Sales,120,180,210,150
Profit,80,120,140,100
JSON Formats¶
Simple array:
[120, 180, 210, 150]
Array of objects:
[
{"label": "Q1", "value": 120},
{"label": "Q2", "value": 180}
]
Structured object:
{
"data": [120, 180, 210, 150],
"labels": ["Q1", "Q2", "Q3", "Q4"],
"title": "Sales by Quarter"
}
Available Chart Types¶
Type |
Command |
Description |
|---|---|---|
Bar |
|
Horizontal bars |
Column |
|
Vertical bars |
Line |
|
Line graphs |
Scatter |
|
Scatter plots |
Pie |
|
Pie/doughnut charts |
Radar |
|
Radar charts |
Area |
|
Area charts |
Bubble |
|
Bubble charts |
Combo |
|
Mixed charts |
Heatmap |
|
Heat maps |
Gantt |
|
Gantt charts |
Histogram |
|
Histograms |
Polar Area |
|
Polar area charts |
Box Plot |
|
Box plots |
CLI Options¶
python -m charted create <chart-type> <output.svg> [options]
Options:
-d, --data FILE Input data file (CSV or JSON)
-t, --title TEXT Chart title
--theme THEME Theme name (light, dark, high-contrast)
--width WIDTH Chart width in pixels
--height HEIGHT Chart height in pixels
--config FILE Config file path
--help Show help message
Examples¶
Sales Report¶
# Create column chart from sales data
python -m charted create column sales.svg \
--data sales.csv \
--title "2024 Sales by Quarter" \
--theme dark \
--width 800 \
--height 600
Comparison Chart¶
# Create grouped column chart
python -m charted create column comparison.svg \
--data comparison.csv \
--title "Year-over-Year Comparison"
Batch Report Generation¶
# Generate charts for all data files
python -m charted batch ./reports/data ./reports/charts
# Output:
# ✓ sales.svg
# ✓ trend.svg
# ✓ comparison.svg
Integration with Build Tools¶
Makefile¶
charts:
python -m charted batch ./data ./output
cp ./output/*.svg docs/images/
GitHub Actions¶
- name: Generate Charts
run: |
pip install charted
python -m charted batch ./data ./docs/images