6.2 KiB
Bubble Charts Showcase
This demo consists of three files that work together:
- charts-bubble.py — Python script that calls
officeclicommands to generate the workbook. Each chart command is shown as a copyable shell command in the comments. - charts-bubble.xlsx — The generated workbook with 4 sheets (4 chart sheets, 14 charts total).
- charts-bubble.md — This file. Maps each sheet to the features it demonstrates.
Regenerate
cd examples/excel
python3 charts-bubble.py
# -> charts-bubble.xlsx
Chart Sheets
Sheet: 1-Bubble Fundamentals
Four bubble charts covering basic rendering, bubble scale, size representation, and data labels.
# Basic bubble with 2 series (X,Y,Size triplets separated by semicolons)
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop series1="Enterprise:50,12,80;120,8,45;200,15,60" \
--prop series2="Consumer:30,25,50;80,18,35;150,22,70" \
--prop catTitle=Market Size ($M) --prop axisTitle=Growth Rate (%)
# bubbleScale=100 with center data labels
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop bubbleScale=100 \
--prop dataLabels=true --prop labelPos=center
# Small bubbles with bubbleScale=50
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop bubbleScale=50
# Size proportional to diameter (width) instead of area
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop sizeRepresents=width
Features: bubble, X;Y;Size triplet format, catTitle, axisTitle, bubbleScale, dataLabels, labelPos=center, labelFont, sizeRepresents=width
Sheet: 2-Bubble Styling
Four styled bubble charts with title fonts, transparency, grid styling, and shadow effects.
# Title and legend styling
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop title.font=Georgia --prop title.size=16 \
--prop title.color=1F4E79 --prop title.bold=true \
--prop legend=right --prop legendfont=10:333333:Calibri
# Transparent overlapping bubbles (ARGB with alpha)
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop colors=804472C4,80ED7D31 \
--prop bubbleScale=120
# Grid and axis line styling
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop gridlines=D9D9D9:0.5 --prop axisfont=9:666666 \
--prop axisLine=333333-1
# Shadow and fill effects
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop plotFill=F0F4F8 --prop chartFill=FAFAFA \
--prop series.shadow=000000-4-315-2-30
Features: title.font/size/color/bold, legend=right, legendfont, ARGB transparency (80RRGGBB), bubbleScale, gridlines, axisfont, axisLine, plotFill, chartFill, series.shadow
Sheet: 3-Bubble Advanced
Four advanced bubble charts with secondary axis, reference lines, log scale, and trendlines.
# Secondary axis for second series
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop secondaryAxis=2
# Reference line (growth threshold)
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop referenceLine=18:Target Growth:C00000
# Logarithmic scale with axis range
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop axisMin=1 --prop axisMax=50 \
--prop logBase=10
# Borders and trendline
officecli add data.xlsx /Sheet --type chart \
--prop chartType=bubble \
--prop chartArea.border=333333-1.5 \
--prop plotArea.border=999999-0.75 \
--prop trendline=linear
Features: secondaryAxis, referenceLine, axisMin/Max, logBase, chartArea.border, plotArea.border, trendline=linear
Sheet: 4-Bubble Series Data
Two charts demonstrating bubble-series-specific data properties: negative bubble rendering and linking bubble sizes to worksheet cell ranges.
# shownegbubbles — render bubbles whose size value is negative
officecli add charts-bubble.xlsx "/4-Bubble Series Data" --type chart \
--prop chartType=bubble \
--prop title="shownegbubbles — negative sizes visible" \
--prop series1="Data:60,30,90" \
--prop series2="Neg:40,50,70" \
--prop colors=4472C4,C00000 \
--prop shownegbubbles=true \
--prop bubbleScale=80 \
--prop legend=bottom
# series1.bubbleSize — link bubble sizes to worksheet cells
# First populate size data in cells A1:A3, then reference it:
officecli add charts-bubble.xlsx "/4-Bubble Series Data" --type cell --prop ref=A1 --prop value=10
officecli add charts-bubble.xlsx "/4-Bubble Series Data" --type cell --prop ref=A2 --prop value=25
officecli add charts-bubble.xlsx "/4-Bubble Series Data" --type cell --prop ref=A3 --prop value=40
officecli add charts-bubble.xlsx "/4-Bubble Series Data" --type chart \
--prop chartType=bubble \
--prop title="series1.bubbleSize — range ref" \
--prop series1="Sizes:80,45,60" \
--prop 'series1.bubbleSize=4-Bubble Series Data!$A$1:$A$3' \
--prop colors=70AD47 \
--prop bubbleScale=100 --prop legend=bottom
Features: shownegbubbles=true (Excel hides negative-size bubbles by default; set true to reflect and display them), series1.bubbleSize=<range> (link bubble sizes to a worksheet cell range so Excel recomputes when source data changes; bubbleSizeRef is emitted on Get alongside the cached literal values)
Complete Feature Coverage
| Feature | Sheet |
|---|---|
bubble chart type |
1, 2, 3, 4 |
catTitle, axisTitle |
1 |
bubbleScale (50/80/100/120) |
1, 2, 3, 4 |
sizeRepresents=width |
1 |
dataLabels, labelPos=center, labelFont |
1 |
title.font/size/color/bold |
2 |
legend, legendfont |
1, 2, 3, 4 |
ARGB transparency (80RRGGBB) |
2 |
gridlines, axisfont, axisLine |
2 |
plotFill, chartFill |
2, 3 |
series.shadow |
2 |
secondaryAxis |
3 |
referenceLine |
3 |
axisMin/Max, logBase |
3 |
chartArea.border, plotArea.border |
3 |
trendline=linear |
3 |
shownegbubbles |
4 |
series1.bubbleSize (range ref) |
4 |
Inspect the Generated File
officecli query charts-bubble.xlsx chart
officecli get charts-bubble.xlsx "/1-Bubble Fundamentals/chart[1]"