-
Notifications
You must be signed in to change notification settings - Fork 517
excel chart pie
A dedicated page for the pie chart type. Pie charts display
proportional data as slices of a circle. They support one series with
per-slice coloring, explosion, rotation, data labels, and the full
set of shared chart styling properties (title, legend, fills, borders,
layout, shadow, transparency).
Path: /{SheetName}/chart[N]
Add command shape:
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop title="Market Share" \
--prop data="Share:40,30,20,10" \
--prop categories="Product A,Product B,Product C,Other" \
<styling props>See also: Chart - add, Chart - set, doughnut for the ring variant, and the full runnable demo at examples/excel/charts-pie.md.
| Type string | OOXML element | Description |
|---|---|---|
pie |
c:pieChart |
Standard 2D pie |
pie3d |
c:pie3DChart |
3D pie with perspective |
| Property | Default | Notes |
|---|---|---|
explosion / explode
|
0 | Pull all slices outward (0-400) |
series{N}.point{M}.explosion |
0 | Per-slice explosion |
# Explode all slices
officecli set data.xlsx /Sheet1/chart[1] --prop explosion=25
# Explode just the first slice
officecli set data.xlsx /Sheet1/chart[1] --prop series1.point1.explode=30| Property | Default | Notes |
|---|---|---|
firstSliceAngle / sliceAngle
|
0 | Rotation of first slice in degrees (0-360) |
officecli set data.xlsx /Sheet1/chart[1] --prop firstSliceAngle=90Pie charts use per-data-point colors (not per-series). The colors
property sets the palette; individual points can be overridden.
| Property | Default | Notes |
|---|---|---|
colors |
theme accents | Comma-separated hex colors for slices |
point{N}.color |
— | Override individual slice color |
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop data="Market:40,30,20,10" \
--prop categories="A,B,C,D" \
--prop colors="4472C4,ED7D31,70AD47,FFC000"| Property | Default | Notes |
|---|---|---|
dataLabels |
false |
true, percent, value, category, all
|
labelPos / labelPosition
|
bestFit |
center, insideEnd, outsideEnd, bestFit
|
labelFont |
— | "size:color:bold" |
dataLabels.separator |
— | Separator between label parts |
dataLabels.numFmt |
— | Number format for labels |
officecli set data.xlsx /Sheet1/chart[1] --prop dataLabels=percent
# Labels with custom font
officecli set data.xlsx /Sheet1/chart[1] \
--prop dataLabels=all \
--prop "labelFont=10:333333:true"| Property | Default | Notes |
|---|---|---|
transparency |
0 | Series transparency (0-100%) |
opacity / alpha
|
100 | Series opacity (0-100%) |
# Translucent slices
officecli set data.xlsx /Sheet1/chart[1] --prop transparency=30| Property | Default | Notes |
|---|---|---|
title |
— | Chart title text |
title.font / titleFont
|
— | Font family |
title.size / titleSize
|
— | Font size (pt) |
title.color / titleColor
|
— | Font color (hex) |
title.bold / titleBold
|
— | Bold (true/false) |
title.glow / titleGlow
|
— | Glow: "COLOR-RADIUS-OPACITY" or "none"
|
title.shadow / titleShadow
|
— | Shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" or "none"
|
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop title="Revenue Breakdown" \
--prop title.size=16 --prop title.bold=true \
--prop title.font="Arial" --prop title.color=1F2937 \
--prop data="Rev:55,25,20" --prop categories="US,EU,APAC"| Property | Default | Notes |
|---|---|---|
legend |
true |
Position: top, bottom, left, right, none
|
legend.overlay |
false |
Float legend on top of the chart |
legendFont / legend.font
|
— | "size:color:fontname" |
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop data="Share:40,30,20,10" --prop categories="A,B,C,D" \
--prop legend=right \
--prop "legendfont=9:6B7280:Arial"| Property | Default | Notes |
|---|---|---|
plotFill / plotAreaFill
|
— | Plot area background: hex, gradient "C1-C2[:angle]", or "none"
|
chartFill / chartAreaFill
|
— | Chart area background |
plotArea.border / plotBorder
|
— | Plot area outline: "color:width:dash" or "none"
|
chartArea.border / chartBorder
|
— | Chart area outline |
# Light background with border
officecli set data.xlsx /Sheet1/chart[1] \
--prop chartFill=F8F9FA \
--prop plotFill=FFFFFF \
--prop "chartArea.border=D0D0D0:1:solid"| Property | Default | Notes |
|---|---|---|
series.shadow / seriesShadow
|
— |
"COLOR-BLUR-ANGLE-DIST-OPACITY" or "none"
|
series.outline / seriesOutline
|
— |
"COLOR-WIDTH" e.g. "FFFFFF-0.5" or "none"
|
# White outline between slices + drop shadow
officecli set data.xlsx /Sheet1/chart[1] \
--prop "series.outline=FFFFFF-1" \
--prop "series.shadow=000000-4-315-3-40"| Property | Default | Notes |
|---|---|---|
x, y
|
0 |
Chart position (column/row index) |
width |
8 |
Chart width (column units) |
height |
15 |
Chart height (row units) |
plotArea.x/y/w/h |
— | Manual plot area layout (0-1 decimal) |
title.x/y/w/h |
— | Manual title layout |
legend.x/y/w/h |
— | Manual legend layout |
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop data="Share:40,30,20,10" --prop categories="A,B,C,D" \
--prop x=0 --prop y=0 --prop width=10 --prop height=18| Property | Default | Notes |
|---|---|---|
view3d / camera / perspective
|
— |
"rotX,rotY,perspective" e.g. "30,0,0"
|
Applies only to pie3d chart type. For pie charts, rotY controls
the horizontal rotation of the pie and rotX controls the tilt angle.
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie3d \
--prop data="Rev:55,25,20" --prop categories="US,EU,APAC" \
--prop "view3d=30,0,0"officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=pie \
--prop title="Q4 Revenue by Region" \
--prop title.size=16 --prop title.bold=true \
--prop title.font="Arial" --prop title.color=1F2937 \
--prop data="Revenue:45,28,17,10" \
--prop categories="North America,Europe,Asia Pacific,Other" \
--prop colors="4472C4,ED7D31,70AD47,FFC000" \
--prop firstSliceAngle=90 \
--prop explosion=5 \
--prop dataLabels=percent \
--prop labelPos=outsideEnd \
--prop "labelFont=10:333333:true" \
--prop legend=right \
--prop "legendfont=9:6B7280:Arial" \
--prop chartFill=FAFBFC \
--prop "series.outline=FFFFFF-1" \
--prop x=0 --prop y=0 --prop width=12 --prop height=18| Feature | Preview | Notes |
|---|---|---|
| 2D pie slices | Yes | SVG arc paths |
| Per-slice colors | Yes | From theme or custom |
| Data labels (%, value) | Yes | Suppressed for slices <5% |
| 3D pie | Yes | Ellipse distortion with depth |
| Explosion | No | Stored in OOXML but not rendered |
| Title styling | Yes | Font, size, color, bold |
| Legend positioning | Yes | Top, bottom, left, right |
| Plot/chart fills | Yes | Solid and gradient |
| Shadow effects | No | Decorative; not rendered |
| Glow effects | No | Decorative; not rendered |
- Single series only. Pie charts take one series; multiple series are not supported.
-
varyColorsis always true. Automatically set so each slice gets its own color from the palette. -
No axes or gridlines. Pie charts do not have category or value
axes. Properties like
axisMin,gridlines,referenceLine, andmarkerare not applicable. -
3D pie falls back to simplified rendering in preview.
pie3dis rendered with ellipse distortion but without full 3D lighting. Use Excel for 3D QA.
# List all charts
officecli query charts-pie.xlsx chart
# Inspect a specific chart
officecli get charts-pie.xlsx "/Sheet1/chart[1]"
# Render to HTML preview
officecli view charts-pie.xlsx html > preview.html- Chart - Overview of chart operations
- Chart add - Generic chart add (all types)
- Chart set - Modify existing charts
- Chart get - Read back chart properties
- doughnut - Ring variant with center hole
Based on OfficeCLI v1.0.64