Skip to main content

QCustomBeeswarm

Pro widget

QCustomBeeswarm ships in Custom Widgets Pro. The free package under GPLv3 does not include it.

See plans

QCustomBeeswarm

A column beeswarm / bubble-stack chart.

Each COLUMN is a thin vertical guide line carrying a vertical stack of rounded "pill" bubbles. Every bubble shows a VALUE (its number) and a CATEGORY (a colour from colorsCsv); the pill's height scales with the value between minSize..maxSize. This is the "check-box product" viz: numbered capsules in columns, coloured by Resources / Valid / Invalid. Painted (no QtCharts) so it stays crisp and needs no external axis.

Give data in code with setData(columns) where columns is a list of columns and each column is a list of (value, category) pairs, or in Qt Designer with dataCsv (columns separated by ';', items by ',', each item "value:category" — category is the 1-based colour index, default 1). Colours / the number-text colour rules are qproperties so a theme flips them on switch. The legend + total are best drawn as sibling labels in the card (reuse), not by this widget.

At a glance

TierPro
Importfrom Custom_Widgets.QCustomBeeswarm import QCustomBeeswarm
Qt DesignerYes — drag it from the palette

Quick start

from Custom_Widgets.QCustomBeeswarm import QCustomBeeswarm

widget = QCustomBeeswarm()

Dark theme

Colours come from the design tokens, so the widget follows the app theme with no extra work.

QCustomBeeswarm in dark theme

Properties

Every property below is settable in code and in Qt Designer.

PropertyTypeDefault
dataCsvstring
colorsCsvstring#ffffff,#8fe36b,#f6912b
textColorsCsvstring#1c1c20,#1c1c20,#ffffff
lineColorcolor#3a3a40
minSizeint34
maxSizeint58
bubbleWidthint42
gapint8
showValuesboolTrue
jitterint0

Methods

MethodDescription
bubbleWidth(*args, **kwargs)Bubble width.
colorsCsv(*args, **kwargs)Colors csv.
data()Data.
dataCsv(*args, **kwargs)Data csv.
gap(*args, **kwargs)Gap.
jitter(*args, **kwargs)Jitter.
lineColor(*args, **kwargs)Line color.
maxSize(*args, **kwargs)Max size.
minSize(*args, **kwargs)Min size.
setColors(fills, texts=None)Set the colors.
setData(columns)columns = list of columns; each column = list of (value, category).
showValues(*args, **kwargs)Show the values.
textColorsCsv(*args, **kwargs)Text colors csv.

Theming

Colours come from the design tokens, so they follow the active theme. Roles used: accent.

See Design tokens.

QCustomAreaChart · QCustomBarChart · QCustomBubbleChart · QCustomCandlestickChart · QCustomCompass · QCustomCompassDial · QCustomDivergingBarChart · QCustomDonut