项目文件夹

文件
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

11 KiB

Stock Charts Showcase

This demo consists of three files that work together:

  • charts-stock.py — Python script that calls officecli commands to generate the deck.
  • charts-stock.pptx — The generated 8-slide deck (4 charts per slide, 32 charts total).
  • charts-stock.md — This file. Maps each slide to the features it demonstrates.

Regenerate

cd examples/ppt/charts
python3 charts-stock.py
# → charts-stock.pptx

Stock charts require series in a fixed order: for HLC provide three series (High, Low, Close); for OHLC provide four (Open, High, Low, Close).

Chart Slides

Slide 1 — Basic Stock (HLC and OHLC)

HLC="High:130,135,140,138,145;Low:118,122,128,125,132;Close:125,130,135,132,140"
OHLC="Open:120,128,130,135,138;High:130,135,140,138,145;Low:118,122,128,125,132;Close:125,130,135,132,140"
CATS="Mon,Tue,Wed,Thu,Fri"

# High-Low-Close (3-series)
officecli add charts-stock.pptx /slide[1] --type chart \
  --prop chartType=stock --prop title="HLC" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC" \
  --prop x=0.3in --prop y=1.05in --prop width=6.1in --prop height=3in

# Open-High-Low-Close (4-series)
officecli add charts-stock.pptx /slide[1] --type chart \
  --prop chartType=stock --prop title="OHLC" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$OHLC" \
  --prop x=6.95in --prop y=1.05in --prop width=6.1in --prop height=3in

# HLC with data table
officecli add charts-stock.pptx /slide[1] --type chart \
  --prop chartType=stock --prop title="HLC + dataTable=true" \
  --prop dataTable=true --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC" \
  --prop x=0.3in --prop y=4.25in --prop width=6.1in --prop height=3in

# OHLC with data table
officecli add charts-stock.pptx /slide[1] --type chart \
  --prop chartType=stock --prop title="OHLC + dataTable=true" \
  --prop dataTable=true --prop legend=bottom \
  --prop categories="$CATS" --prop data="$OHLC" \
  --prop x=6.95in --prop y=4.25in --prop width=6.1in --prop height=3in

Features: chartType=stock, HLC (3-series) vs OHLC (4-series), dataTable

Slide 2 — Hi-Low Lines and Up-Down Bars

# hilowlines — vertical lines connecting high and low of each period
officecli add charts-stock.pptx /slide[2] --type chart \
  --prop chartType=stock --prop title="hilowlines=true" \
  --prop hilowlines=true --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

# hilowlines with custom color and width
officecli add charts-stock.pptx /slide[2] --type chart \
  --prop chartType=stock --prop title="hilowlines=808080:0.5" \
  --prop hilowlines="808080:0.5" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

# updownbars — candlestick-like up/down fill bars (OHLC only)
officecli add charts-stock.pptx /slide[2] --type chart \
  --prop chartType=stock --prop title="updownbars=true (OHLC)" \
  --prop updownbars=true --prop legend=bottom \
  --prop categories="$CATS" --prop data="$OHLC"

# updownbars with custom width and colors
officecli add charts-stock.pptx /slide[2] --type chart \
  --prop chartType=stock --prop title="updownbars=150:00AA00:FF0000" \
  --prop updownbars="150:00AA00:FF0000" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$OHLC"

Features: hilowlines (true or color:width), updownbars (true or gapWidth:upColor:downColor — OHLC only)

Slide 3 — Title and Legend

officecli add charts-stock.pptx /slide[3] --type chart \
  --prop chartType=stock --prop title="Styled title" \
  --prop title.font=Georgia --prop title.size=20 \
  --prop title.color=4472C4 --prop title.bold=true \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[3] --type chart \
  --prop chartType=stock --prop title="legend=top + legendFont" \
  --prop legend=top --prop legendFont="10:333333:Calibri" \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[3] --type chart \
  --prop chartType=stock --prop title="legend.overlay=true" \
  --prop legend=topRight --prop legend.overlay=true \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[3] --type chart \
  --prop chartType=stock --prop autotitledeleted=true --prop legend=none \
  --prop categories="$CATS" --prop data="$HLC"

Features: title.font/size/color/bold, legend positions, legendFont, legend.overlay, autotitledeleted

Slide 4 — Data Labels

officecli add charts-stock.pptx /slide[4] --type chart \
  --prop chartType=stock --prop title="dataLabels=value" \
  --prop dataLabels=value --prop labelfont="9:333333:Calibri" \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[4] --type chart \
  --prop chartType=stock --prop title="value,series" \
  --prop dataLabels="value,series" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[4] --type chart \
  --prop chartType=stock --prop title="value,category" \
  --prop dataLabels="value,category" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[4] --type chart \
  --prop chartType=stock --prop title="dataLabels=none" \
  --prop dataLabels=none --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

Features: dataLabels (value/series/category/none or combined), labelfont

Slide 5 — Axes

# axis min/max + currency number format
officecli add charts-stock.pptx /slide[5] --type chart \
  --prop chartType=stock --prop title="min/max + currency format" \
  --prop axismin=100 --prop axismax=160 --prop majorunit=10 \
  --prop axistitle="Price (USD)" --prop cattitle="Day" \
  --prop axisfont="10:333333:Calibri" --prop axisnumfmt='$#,##0.00' \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[5] --type chart \
  --prop chartType=stock --prop title="gridlines + minorGridlines" \
  --prop gridlines="E0E0E0:0.3" --prop minorGridlines="F0F0F0:0.25" \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[5] --type chart \
  --prop chartType=stock --prop title="labelrotation=-30" \
  --prop labelrotation=-30 --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[5] --type chart \
  --prop chartType=stock --prop title="dispunits=hundreds" \
  --prop dispunits=hundreds --prop legend=bottom \
  --prop categories="$CATS" \
  --prop data="High:13000,13500,14000,13800,14500;Low:11800,12200,12800,12500,13200;Close:12500,13000,13500,13200,14000"

Features: axismin/max, majorunit, axistitle/cattitle, axisfont, axisnumfmt (currency), gridlines/minorGridlines, labelrotation, dispunits

Slide 6 — Series Styling

officecli add charts-stock.pptx /slide[6] --type chart \
  --prop chartType=stock --prop title="colors" \
  --prop colors="4472C4,ED7D31,70AD47" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[6] --type chart \
  --prop chartType=stock --prop title="seriesoutline" \
  --prop seriesoutline="000000:1" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[6] --type chart \
  --prop chartType=stock --prop title="transparency=30" \
  --prop transparency=30 --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[6] --type chart \
  --prop chartType=stock --prop title="seriesshadow" \
  --prop seriesshadow="000000-5-45-3-50" --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

Features: colors, seriesoutline, transparency, seriesshadow

Slide 7 — Backgrounds

officecli add charts-stock.pptx /slide[7] --type chart \
  --prop chartType=stock --prop title="chartareafill + plotFill + borders" \
  --prop chartareafill=FFF8E7 --prop plotFill=FAFAFA \
  --prop chartborder="000000:1" --prop plotborder="CCCCCC:0.5" \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[7] --type chart \
  --prop chartType=stock --prop title="roundedcorners=true" \
  --prop roundedcorners=true --prop chartborder="4472C4:2" \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[7] --type chart \
  --prop chartType=stock --prop title="plotFill=none" \
  --prop plotFill=none --prop gridlines=none \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli add charts-stock.pptx /slide[7] --type chart \
  --prop chartType=stock --prop title="chartareafill=none" \
  --prop chartareafill=none --prop legend=bottom \
  --prop categories="$CATS" --prop data="$HLC"

Features: chartareafill, plotFill, chartborder, plotborder, roundedcorners

Slide 8 — Presets and Per-Series Set

for p in minimal dark corporate; do
  officecli add charts-stock.pptx /slide[8] --type chart \
    --prop chartType=stock --prop preset=$p --prop title="preset=$p" \
    --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"
done

officecli add charts-stock.pptx /slide[8] --type chart \
  --prop chartType=stock --prop title="chart-series Set name+color" \
  --prop legend=bottom --prop categories="$CATS" --prop data="$HLC"

officecli set charts-stock.pptx "/slide[8]/chart[4]/series[1]" \
  --prop name="H" --prop color=00AA00
officecli set charts-stock.pptx "/slide[8]/chart[4]/series[2]" \
  --prop name="L" --prop color=C00000
officecli set charts-stock.pptx "/slide[8]/chart[4]/series[3]" \
  --prop name="C" --prop color=4472C4

Features: preset (minimal/dark/corporate), chart-series Set (name/color per series)

Complete Feature Coverage

Feature Slide
chartType=stock, HLC vs OHLC series order 1
dataTable 1
hilowlines (true or color:width) 2
updownbars (true or gapWidth:upColor:downColor) 2
title.font/size/color/bold 3
legend positions, legendFont, legend.overlay 3
autotitledeleted 3
dataLabels: value/series/category/none 4
labelfont 4
axismin/max, majorunit, axistitle/cattitle 5
axisfont, axisnumfmt (currency), gridlines 5
labelrotation, dispunits 5
colors, seriesoutline, transparency, seriesshadow 6
chartareafill, plotFill, chartborder, plotborder, roundedcorners 7
preset 8
chart-series Set 8

Inspect the Generated File

officecli query charts-stock.pptx chart
officecli get charts-stock.pptx "/slide[1]/chart[1]"
officecli get charts-stock.pptx "/slide[2]/chart[3]"
officecli get charts-stock.pptx "/slide[8]/chart[4]/series[1]"