12 KiB
Scatter Charts Showcase
This demo consists of three files that work together:
- charts-scatter.py — Python script that calls
officeclicommands to generate the deck (9 slides). - charts-scatter.pptx — The generated 9-slide deck.
- charts-scatter.md — This file. Maps each slide to the features it demonstrates.
Regenerate
cd examples/ppt/charts
python3 charts-scatter.py
# → charts-scatter.pptx
Chart Slides
Slide 1 — scatterstyle Variants
Five scatter style modes demonstrated with the same dataset.
officecli add charts-scatter.pptx /slide[1] --type chart \
--prop chartType=scatter --prop scatterstyle=line --prop title="scatterstyle=line" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65" \
--prop x=0.3in --prop y=1.05in --prop width=6.1in --prop height=3in
officecli add charts-scatter.pptx /slide[1] --type chart \
--prop chartType=scatter --prop scatterstyle=lineMarker \
--prop title="scatterstyle=lineMarker" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65" \
--prop x=6.95in --prop y=1.05in --prop width=6.1in --prop height=3in
officecli add charts-scatter.pptx /slide[1] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="scatterstyle=marker" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65" \
--prop x=0.3in --prop y=4.25in --prop width=6.1in --prop height=3in
officecli add charts-scatter.pptx /slide[1] --type chart \
--prop chartType=scatter --prop scatterstyle=smoothMarker \
--prop title="scatterstyle=smoothMarker" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65" \
--prop x=6.95in --prop y=4.25in --prop width=6.1in --prop height=3in
Features: scatterstyle (line/lineMarker/marker/smooth/smoothMarker)
Slide 2 — Markers
# circle with explicit size and color
officecli add charts-scatter.pptx /slide[2] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="circle:10:FF0000" --prop marker="circle:10:FF0000" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65"
officecli add charts-scatter.pptx /slide[2] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="diamond:12:0070C0" --prop marker="diamond:12:0070C0" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65"
officecli add charts-scatter.pptx /slide[2] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="square:8:70AD47" --prop marker="square:8:70AD47" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65"
# markercolor — fill color independent of marker= compound form
officecli add charts-scatter.pptx /slide[2] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="markercolor=E63946" --prop marker="circle:10" \
--prop markercolor=E63946 \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55,52,65"
Features: marker (symbol:size:color compound), symbols: circle/diamond/square/triangle/star/…; markercolor (standalone fill color)
Slide 3 — Title and Legend
officecli add charts-scatter.pptx /slide[3] --type chart \
--prop chartType=scatter --prop scatterstyle=smoothMarker \
--prop title="Styled title" \
--prop title.font=Georgia --prop title.size=20 \
--prop title.color=4472C4 --prop title.bold=true \
--prop legend=bottom --prop data="A:10,20,18,30;B:5,12,15,22"
officecli add charts-scatter.pptx /slide[3] --type chart \
--prop chartType=scatter --prop scatterstyle=lineMarker \
--prop title="legend=top + legendFont" --prop legend=top \
--prop legendFont="10:333333:Calibri" \
--prop data="A:10,20,18,30;B:5,12,15,22"
# title.overlay — title drawn over plot area (saves vertical space)
officecli add charts-scatter.pptx /slide[3] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="title.overlay=true" --prop title.overlay=true \
--prop legend=none --prop data="A:10,20,18,30;B:5,12,15,22"
Features: title.font/size/color/bold, title.overlay, legend positions, legendFont, legend.overlay
Slide 4 — Data Labels
officecli add charts-scatter.pptx /slide[4] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="value" --prop dataLabels=value \
--prop labelfont="9:333333:Calibri" --prop legend=none \
--prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[4] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="value,series" --prop dataLabels="value,series" \
--prop legend=none --prop data="A:10,20,18,30;B:5,12,15,22"
officecli add charts-scatter.pptx /slide[4] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="labelPos=top" --prop dataLabels=value --prop labelPos=top \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[4] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="dataLabels=none" --prop dataLabels=none \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
Features: dataLabels (value/series/none or combined), labelPos (top), labelfont
Slide 5 — Axes
officecli add charts-scatter.pptx /slide[5] --type chart \
--prop chartType=scatter --prop scatterstyle=lineMarker \
--prop title="min/max + titles" --prop legend=none \
--prop axismin=0 --prop axismax=80 --prop majorunit=20 \
--prop axistitle="Y" --prop cattitle="X" \
--prop axisfont="10:333333:Calibri" --prop axisline="666666:1" \
--prop axisnumfmt="#,##0" --prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[5] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="gridlines + minorGridlines" --prop legend=none \
--prop gridlines="E0E0E0:0.3" --prop minorGridlines="F0F0F0:0.25" \
--prop data="A:10,20,18,30,28,40,42,55"
# Log scale on Y axis
officecli add charts-scatter.pptx /slide[5] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="logbase=10 (Y)" --prop logbase=10 \
--prop axismin=1 --prop axismax=100 --prop legend=none \
--prop data="A:2,5,8,12,20,40,80"
Features: axismin/max, majorunit, axistitle/cattitle, axisfont/axisline/axisnumfmt, gridlines/minorGridlines, labelrotation, logbase
Slide 6 — Series Styling
officecli add charts-scatter.pptx /slide[6] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="colors + seriesoutline" --prop legend=bottom \
--prop colors="4472C4,ED7D31" --prop seriesoutline="000000:0.5" \
--prop data="A:10,20,18,30;B:5,12,15,22"
officecli add charts-scatter.pptx /slide[6] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="gradient + seriesshadow" --prop legend=none \
--prop gradient="FF6600-FFCC00" --prop seriesshadow="000000-5-45-3-50" \
--prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[6] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="transparency=30" --prop legend=bottom \
--prop transparency=30 --prop data="A:10,20,18,30;B:5,12,15,22"
officecli add charts-scatter.pptx /slide[6] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="per-series gradients" --prop legend=bottom \
--prop gradients="FF0000-0000FF;00FF00-FFFF00" \
--prop data="A:10,20,18,30;B:5,12,15,22"
Features: colors, seriesoutline, gradient, seriesshadow, transparency, gradients
Slide 7 — Overlays (trendlines, error bars)
officecli add charts-scatter.pptx /slide[7] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="trendline=linear" --prop trendline=linear \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[7] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="trendline=poly:3" --prop trendline="poly:3" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[7] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="trendline=movingAvg:3" --prop trendline="movingAvg:3" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
officecli add charts-scatter.pptx /slide[7] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="errbars=stdDev:1" --prop errbars="stdDev:1" \
--prop legend=none --prop data="A:10,20,18,30,28,40,42,55"
Features: trendline (linear/poly:N/exp/log/power/movingAvg:N), errbars
Slide 8 — Per-Series Set and Presets
for p in minimal dark corporate; do
officecli add charts-scatter.pptx /slide[8] --type chart \
--prop chartType=scatter --prop scatterstyle=smoothMarker \
--prop preset=$p --prop title="preset=$p" --prop legend=bottom \
--prop data="A:10,20,18,30;B:5,12,15,22"
done
officecli add charts-scatter.pptx /slide[8] --type chart \
--prop chartType=scatter --prop scatterstyle=lineMarker \
--prop title="chart-series Set per series" --prop legend=bottom \
--prop data="A:10,20,18,30;B:5,12,15,22"
# Per-series Set: lineWidth, lineDash, marker, markerSize, smooth
officecli set charts-scatter.pptx "/slide[8]/chart[4]/series[1]" \
--prop name="Alpha" --prop color=C00000 --prop lineWidth=2.5 \
--prop lineDash=solid --prop marker=circle --prop markerSize=10 \
--prop smooth=true
officecli set charts-scatter.pptx "/slide[8]/chart[4]/series[2]" \
--prop name="Beta" --prop color=2E75B6 --prop lineWidth=1.5 \
--prop lineDash=dash --prop marker=diamond --prop markerSize=8
Features: preset, chart-series Set: name, color, lineWidth, lineDash (solid/dash/dot/…), marker, markerSize, smooth
Slide 9 — Named Series Shorthand
# series{N}= is an alternative to data= that names each series at Add time
officecli add charts-scatter.pptx /slide[9] --type chart \
--prop chartType=scatter --prop scatterstyle=lineMarker \
--prop title="series1= + series2=" \
--prop series1="Alpha:10,25,18,40" --prop series2="Beta:5,15,12,30" \
--prop legend=bottom
officecli add charts-scatter.pptx /slide[9] --type chart \
--prop chartType=scatter --prop scatterstyle=marker \
--prop title="series1.* per-series naming + colors=" \
--prop series1.name="Alpha" --prop series1.values="10,25,18,40" \
--prop series2.name="Beta" --prop series2.values="5,15,12,30" \
--prop colors="4472C4,E63946" --prop legend=bottom
Features: series{N}=Name:v1,v2,… (named series shorthand), series{N}.name/series{N}.values per-series at Add time, mixing with colors=
Complete Feature Coverage
| Feature | Slide |
|---|---|
| scatterstyle: line/lineMarker/marker/smooth/smoothMarker | 1 |
| marker (symbol:size:color compound) | 2 |
| markercolor (standalone) | 2 |
| title.font/size/color/bold, title.overlay | 3 |
| legend positions, legendFont, legend.overlay | 3 |
| dataLabels: value/series/none + combined | 4 |
| labelPos, labelfont | 4 |
| axismin/max, majorunit, axistitle/cattitle | 5 |
| axisfont/axisline/axisnumfmt, gridlines | 5 |
| logbase | 5 |
| colors, seriesoutline, gradient, seriesshadow | 6 |
| gradients, transparency | 6 |
| trendline (linear/poly/exp/log/power/movingAvg) | 7 |
| errbars | 7 |
| preset | 8 |
| chart-series Set: lineWidth/lineDash/marker/markerSize/smooth | 8 |
| series{N}= shorthand | 9 |
| series{N}.name/values per-series Add | 9 |
Inspect the Generated File
officecli query charts-scatter.pptx chart
officecli get charts-scatter.pptx "/slide[1]/chart[1]"
officecli get charts-scatter.pptx "/slide[8]/chart[4]/series[1]"
officecli get charts-scatter.pptx "/slide[5]/chart[1]/axis[@role=value]"