Skip to content

excel chart bubble

zmworm edited this page Apr 29, 2026 · 16 revisions

Excel: Chart - bubble

A dedicated page for the bubble chart type. Bubble charts extend scatter plots with a third dimension: each data point is drawn as a circle whose size represents an additional variable.

Path: /{SheetName}/chart[N]

Add command shape:

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop title="Market Analysis" \
  --prop categories="10,20,30,40" \
  --prop series1="Products:100,200,150,300" \
  <styling props>

See also: Chart - add, Chart - set.

Bubble-specific properties

Bubble scale

Property Default Notes
bubbleScale 100 Scale factor for bubble sizes (50-500, as %)
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop title="Market Analysis" \
  --prop categories="10,20,30,40" \
  --prop series1="Products:100,200,150,300"

# Smaller bubbles
officecli set data.xlsx /Sheet1/chart[1] --prop bubbleScale=60

Size representation

Property Default Notes
sizeRepresents width How bubble size maps to value: width or area
officecli set data.xlsx /Sheet1/chart[1] --prop sizeRepresents=area

Negative bubbles

Property Default Notes
showNegBubbles true Show bubbles for negative values

Bubble size labels

Property Default Notes
dataLabels.showBubbleSize false Show bubble size value as label

Data format

Bubble charts use three values per point:

  • X (from categories): horizontal position
  • Y (from series values): vertical position
  • Size (from series values or third column): bubble diameter
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop title="Portfolio" \
  --prop categories="10,20,30" \
  --prop series1="Fund A:100,200,150" \
  --prop bubbleScale=80

Title styling

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"

Legend

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"

Axis features

Bubble charts use numeric XY axes (like scatter charts).

Scale control

Property Default Notes
axisMin / min (auto) Value (Y) axis lower bound
axisMax / max (auto) Value (Y) axis upper bound
majorUnit (auto) Major gridline / tick interval
minorUnit (auto) Minor gridline / tick interval
axisNumFmt / axisNumberFormat General Number format for tick labels (e.g. "$#,##0", "0%")
# Lock Y axis to 0-500, gridlines every 100
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop series1="Data:50,120,280,350" \
  --prop categories="10,20,30,40" \
  --prop axisMin=0 --prop axisMax=500 --prop majorUnit=100

Logarithmic scale

Property Default Notes
logBase / logScale Logarithmic scale base (e.g. 10)

Reversed axis

Property Default Notes
axisOrientation / axisReverse minMax Set to maxMin or true to flip the Y axis

Dual axis (secondary axis)

Property Default Notes
secondaryAxis / secondary Comma-separated 1-based series indices for secondary Y axis

Display units

Property Default Notes
dispUnits / displayUnits thousands, millions, billions, etc.

Axis visibility and styling

Property Default Notes
axisVisible / axis.visible true Show/hide both axes
axisLine / axis.line Value axis line: "color:width:dash"
catAxisLine Category (X) axis line: "color:width:dash"
majorTickMark / majorTick out, in, cross, none
minorTickMark / minorTick Same as major tick
tickLabelPos nextTo nextTo, high, low, none

Gridlines

Property Default Notes
gridlines / majorGridlines true Toggle or configure: true, false/none, or "color:widthPt:dash"
minorGridlines false Same format as gridlines
# Custom gridlines: light gray, thin, dotted
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop series1="Data:100,200,300" --prop categories="10,20,30" \
  --prop "gridlines=D0D0D0:0.5:sysDot" \
  --prop "minorGridlines=EEEEEE:0.3:sysDot"

Reference lines (target / threshold overlays)

Property Default Notes
referenceLine / refLine value or "value:color:width:dash"
# Target line at 200 — red, dashed
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop series1="Performance:120,180,250,310" \
  --prop categories="10,20,30,40" \
  --prop "referenceLine=200:FF0000:1.5:dash"

Fills and borders

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

Series shadow and outline

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"

Data labels

Property Default Notes
dataLabels false Toggle data labels
labelPos / labelPosition Position: center, top, bottom, left, right, bestFit
labelFont "size:color:bold"
dataLabel{N}.text Custom text for individual label
dataLabel{N}.x/y/w/h Manual layout of individual label
dataLabel{N}.delete Hide individual label
dataLabels.separator Separator between label parts
dataLabels.numFmt Number format for labels
dataLabels.showBubbleSize false Show bubble size value as label

Transparency and opacity

Property Default Notes
transparency 0 Series transparency (0-100%)
opacity / alpha 100 Series opacity (0-100%)
# Translucent bubbles for overlapping data
officecli set data.xlsx /Sheet1/chart[1] --prop transparency=30

Layout control

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

Display blanks

Property Default Notes
dispBlanksAs / blanksAs gap How blank cells are handled: gap, zero, span/connect

Conditional coloring

Property Default Notes
colorRule / conditionalColor Color data points conditionally
point{N}.color Individual data point color (hex)

Full example: presentation-grade bubble chart

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=bubble \
  --prop title="Market Opportunity" \
  --prop title.size=16 --prop title.bold=true \
  --prop title.font="Arial" --prop title.color=1F2937 \
  --prop series1="Segment A:100,200,300,150" \
  --prop series2="Segment B:80,250,180,220" \
  --prop categories="10,20,30,40" \
  --prop colors="4472C4,ED7D31" \
  --prop bubbleScale=80 --prop sizeRepresents=area \
  --prop transparency=25 \
  --prop "gridlines=E5E7EB:0.5:solid" \
  --prop "minorGridlines=F3F4F6:0.3:sysDot" \
  --prop axisTitle="Revenue ($K)" --prop catTitle="Market Size" \
  --prop "axisfont=10:6B7280:Arial" \
  --prop plotFill=FAFBFC \
  --prop "referenceLine=200:FF0000:1:dash" \
  --prop legend=bottom \
  --prop "legendfont=9:6B7280:Arial" \
  --prop x=0 --prop y=0 --prop width=14 --prop height=20

HTML preview support

Feature Preview Notes
XY positioning Yes Numeric axes
Bubble sizing Yes Scaled by bubbleScale
Grid and axes Yes Color, width, dash from OOXML
Reference lines Yes Dashed overlays with legend entry
Data labels Yes Value text on bubbles
Custom axis scale Yes axisMin/axisMax/majorUnit
Log scale Yes Logarithmic Y axis spacing
Reversed axis Yes Inverted Y direction
Shadow effects No Decorative; not rendered
Glow effects No Decorative; not rendered

Known quirks

  • Bubble size column. When using cell references, the third column provides bubble sizes. With inline data, sizes are derived from the Y values unless a separate size series is specified.
  • sizeRepresents=area is recommended. The default width mapping can visually exaggerate differences since area scales quadratically.
  • Negative bubbles. When showNegBubbles=true, negative-sized bubbles are drawn with a dashed outline by default.

Inspect an existing bubble chart

# List all charts
officecli query data.xlsx chart

# Inspect a specific chart
officecli get data.xlsx "/Sheet1/chart[1]"

# Render to HTML preview
officecli view data.xlsx html > preview.html

See Also


Based on OfficeCLI v1.0.64

Clone this wiki locally