Generate chart images from CSV files with scripts/chart_mpl.py.
Create a virtual environment and install matplotlib (one-time):
bash
python3 -m venv ~/.openclaw/workspace/.venv_chart
~/.openclaw/workspace/.venv_chart/bin/pip install matplotlib
Run from workspace root:
bash
~/.openclaw/workspace/.venv_chart/bin/python skills/chart-mpl/scripts/chart_mpl.py \
--csv /path/to/data.csv \
--xcol Mois \
--ycol Valeur \
--kind line \
--title "Monthly trend" \
--xlabel "Month" \
--ylabel "Value"
Output defaults to:
~/.openclaw/workspace/exports/images
--csv path to CSV file--xcol column for X axis--ycol numeric column(s) for Y axis — comma-separated for multi-series (e.g. Sales,Costs)--kind chart type: line, bar, hbar, pie, stacked, scatter, area--delim if auto-detection fails ( ;, ,, \t, |)--out custom output path (PNG or SVG — format detected from extension)--title, --xlabel, --ylabel--top N show only top N categories by value (bar, hbar, pie, stacked). Multi-series ranks by row total.--sort sort data before plotting: x-asc, x-desc, y-desc, none (default: none)--numfmt number format on Y axis: fr (1,5M) or en (1.5M) — default: frKindDescriptionMulti-serieslineLine chart with markersyesbarVertical bar chart (grouped when multi-series)yeshbarHorizontal bar chart (grouped when multi-series)yespiePie chart (first Y column only)nostackedStacked vertical bar (requires 2+ Y)yesscatterScatter plotyesareaFilled area chartyes
1 234,56, 1,234.56).ycol are converted to NaN with a warning.utf-8-sig).--top N keeps the N highest categories. For pie charts, the remainder is aggregated into an "Other" slice. For bar/hbar/stacked, the rest are excluded.--out file extension. Default is PNG.mssql skill.