Skip to content
silverpoint
Documentation menu

Charts · Distributions & comparisons

BeeswarmChart

One point per observation, packed without overlap. Family: Distributions & comparisons · chart 39 of 60.
Reading time per readerReading time per reader
Reading time per reader
readerminutes
R0014
R00217
R0033
R0046.5
R0053.5
R0063
R0074.5
R00823.5
R0091
R0101
R0116.5
R0124.5
R0131.5
R0147
R0158.5
R0163
R0173
R0188
R0193
R0204
R0218
R0226.5
R02310.5
R02416.5
R0253.5
R0265
R0278
R0285
R0292
R0301.5
R03110
R0324.5
R03318.5
R0343.5
R0353
R0369.5
R03711.5
R03811
R0394.5
R0403
R0414.5
R04211
R0434
R0445
R0455.5
R0466
R0472.5
R0484
R0491
R0501.5
R0512.5
R0524
R05321.5
R0545
R05516.5
R0566
R05727.5
R0583.5
R0591.5
R06020
R0616.5
R06211.5
R06311
R0644
R0652
R0661.5
R0676
R06814
R0692
R0704.5
R07110.5
R0723.5
R0737.5
R0744
R0753.5
R0767.5
R0773
R0782
R0796
R0804
R0814
R0824
R0839.5
R08413.5
R0852
R0862.5
R0876
R08812
R0895
R0905.5
R0915
R09214
R0935
R0943
R09512.5
R0966.5
R09714
R0988.5
R0993.5
R1009
R10110
R1028.5
R1038.5
R1046.5
R10512
R1064.5
R10710.5
R1088.5
R1096
R1109
R1114
R1127
R1134
R1142.5
R11511.5
R1162
R11721.5
R11814.5
R1194.5
R1208
R1216.5
R1225.5
R1234
R1249.5
R12515.5
R12611
R12727
R1281
R12912
R1308.5
R1314
R1323.5
R1333
R13415.5
R1359
R13617
R1375.5
R1386
R1392
R14010.5
R1412
R14212.5
R1434
R1441.5
R1459.5
R1465.5
R1473.5
R14811.5
R1496
R1504
R1518
R1529
R15313
R1542
R15512
R1561
R1574.5
R1582
R1592
R1605
R1614.5
R1621.5
R1639.5
R1646
R16510
R1667.5
R16714.5
R1685
R1699.5
R1703
R17110.5
R1728
R1737.5
R1744.5
R1756
R1761.5
R1775
R1782
R17919.5
R1803
R1812.5
R1825.5
R1834.5
R1843.5
R1852
R1865.5
R1875.5
R1883
R1892.5
R19010
R1919.5
R1923
R1933
R1942.5
R1953
R19611
R19713
R19810.5
R1995
R2006
R20113.5
R2026
R2038.5
R2047.5
R2055
R2063.5
R2079
R2085
R2094.5
R2107.5
R21111.5
R21218
R21312
R2142.5
R21515
R2169
R21710
R2183.5
R2195
R2208
R2216.5
R22215
R2236.5
R2243
R2254
R2262
R2274
R2288
R2297
R2306.5
R2311.5
R2329
R2336
R2346.5
R23511.5
R2365
R2373.5
R2384
R2394.5
R2404.5
Reading time per readerReading time per reader
Reading time per reader
readerminutes
R0014
R00217
R0033
R0046.5
R0053.5
R0063
R0074.5
R00823.5
R0091
R0101
R0116.5
R0124.5
R0131.5
R0147
R0158.5
R0163
R0173
R0188
R0193
R0204
R0218
R0226.5
R02310.5
R02416.5
R0253.5
R0265
R0278
R0285
R0292
R0301.5
R03110
R0324.5
R03318.5
R0343.5
R0353
R0369.5
R03711.5
R03811
R0394.5
R0403
R0414.5
R04211
R0434
R0445
R0455.5
R0466
R0472.5
R0484
R0491
R0501.5
R0512.5
R0524
R05321.5
R0545
R05516.5
R0566
R05727.5
R0583.5
R0591.5
R06020
R0616.5
R06211.5
R06311
R0644
R0652
R0661.5
R0676
R06814
R0692
R0704.5
R07110.5
R0723.5
R0737.5
R0744
R0753.5
R0767.5
R0773
R0782
R0796
R0804
R0814
R0824
R0839.5
R08413.5
R0852
R0862.5
R0876
R08812
R0895
R0905.5
R0915
R09214
R0935
R0943
R09512.5
R0966.5
R09714
R0988.5
R0993.5
R1009
R10110
R1028.5
R1038.5
R1046.5
R10512
R1064.5
R10710.5
R1088.5
R1096
R1109
R1114
R1127
R1134
R1142.5
R11511.5
R1162
R11721.5
R11814.5
R1194.5
R1208
R1216.5
R1225.5
R1234
R1249.5
R12515.5
R12611
R12727
R1281
R12912
R1308.5
R1314
R1323.5
R1333
R13415.5
R1359
R13617
R1375.5
R1386
R1392
R14010.5
R1412
R14212.5
R1434
R1441.5
R1459.5
R1465.5
R1473.5
R14811.5
R1496
R1504
R1518
R1529
R15313
R1542
R15512
R1561
R1574.5
R1582
R1592
R1605
R1614.5
R1621.5
R1639.5
R1646
R16510
R1667.5
R16714.5
R1685
R1699.5
R1703
R17110.5
R1728
R1737.5
R1744.5
R1756
R1761.5
R1775
R1782
R17919.5
R1803
R1812.5
R1825.5
R1834.5
R1843.5
R1852
R1865.5
R1875.5
R1883
R1892.5
R19010
R1919.5
R1923
R1933
R1942.5
R1953
R19611
R19713
R19810.5
R1995
R2006
R20113.5
R2026
R2038.5
R2047.5
R2055
R2063.5
R2079
R2085
R2094.5
R2107.5
R21111.5
R21218
R21312
R2142.5
R21515
R2169
R21710
R2183.5
R2195
R2208
R2216.5
R22215
R2236.5
R2243
R2254
R2262
R2274
R2288
R2297
R2306.5
R2311.5
R2329
R2336
R2346.5
R23511.5
R2365
R2373.5
R2384
R2394.5
R2404.5
mode="precision"
Reading time per readerReading time per reader
Reading time per reader
readerminutes
R0014
R00217
R0033
R0046.5
R0053.5
R0063
R0074.5
R00823.5
R0091
R0101
R0116.5
R0124.5
R0131.5
R0147
R0158.5
R0163
R0173
R0188
R0193
R0204
R0218
R0226.5
R02310.5
R02416.5
R0253.5
R0265
R0278
R0285
R0292
R0301.5
R03110
R0324.5
R03318.5
R0343.5
R0353
R0369.5
R03711.5
R03811
R0394.5
R0403
R0414.5
R04211
R0434
R0445
R0455.5
R0466
R0472.5
R0484
R0491
R0501.5
R0512.5
R0524
R05321.5
R0545
R05516.5
R0566
R05727.5
R0583.5
R0591.5
R06020
R0616.5
R06211.5
R06311
R0644
R0652
R0661.5
R0676
R06814
R0692
R0704.5
R07110.5
R0723.5
R0737.5
R0744
R0753.5
R0767.5
R0773
R0782
R0796
R0804
R0814
R0824
R0839.5
R08413.5
R0852
R0862.5
R0876
R08812
R0895
R0905.5
R0915
R09214
R0935
R0943
R09512.5
R0966.5
R09714
R0988.5
R0993.5
R1009
R10110
R1028.5
R1038.5
R1046.5
R10512
R1064.5
R10710.5
R1088.5
R1096
R1109
R1114
R1127
R1134
R1142.5
R11511.5
R1162
R11721.5
R11814.5
R1194.5
R1208
R1216.5
R1225.5
R1234
R1249.5
R12515.5
R12611
R12727
R1281
R12912
R1308.5
R1314
R1323.5
R1333
R13415.5
R1359
R13617
R1375.5
R1386
R1392
R14010.5
R1412
R14212.5
R1434
R1441.5
R1459.5
R1465.5
R1473.5
R14811.5
R1496
R1504
R1518
R1529
R15313
R1542
R15512
R1561
R1574.5
R1582
R1592
R1605
R1614.5
R1621.5
R1639.5
R1646
R16510
R1667.5
R16714.5
R1685
R1699.5
R1703
R17110.5
R1728
R1737.5
R1744.5
R1756
R1761.5
R1775
R1782
R17919.5
R1803
R1812.5
R1825.5
R1834.5
R1843.5
R1852
R1865.5
R1875.5
R1883
R1892.5
R19010
R1919.5
R1923
R1933
R1942.5
R1953
R19611
R19713
R19810.5
R1995
R2006
R20113.5
R2026
R2038.5
R2047.5
R2055
R2063.5
R2079
R2085
R2094.5
R2107.5
R21111.5
R21218
R21312
R2142.5
R21515
R2169
R21710
R2183.5
R2195
R2208
R2216.5
R22215
R2236.5
R2243
R2254
R2262
R2274
R2288
R2297
R2306.5
R2311.5
R2329
R2336
R2346.5
R23511.5
R2365
R2373.5
R2384
R2394.5
R2404.5
substrate="green"
Reading time per readerReading time per reader
Reading time per reader
readerminutes
R0014
R00217
R0033
R0046.5
R0053.5
R0063
R0074.5
R00823.5
R0091
R0101
R0116.5
R0124.5
R0131.5
R0147
R0158.5
R0163
R0173
R0188
R0193
R0204
R0218
R0226.5
R02310.5
R02416.5
R0253.5
R0265
R0278
R0285
R0292
R0301.5
R03110
R0324.5
R03318.5
R0343.5
R0353
R0369.5
R03711.5
R03811
R0394.5
R0403
R0414.5
R04211
R0434
R0445
R0455.5
R0466
R0472.5
R0484
R0491
R0501.5
R0512.5
R0524
R05321.5
R0545
R05516.5
R0566
R05727.5
R0583.5
R0591.5
R06020
R0616.5
R06211.5
R06311
R0644
R0652
R0661.5
R0676
R06814
R0692
R0704.5
R07110.5
R0723.5
R0737.5
R0744
R0753.5
R0767.5
R0773
R0782
R0796
R0804
R0814
R0824
R0839.5
R08413.5
R0852
R0862.5
R0876
R08812
R0895
R0905.5
R0915
R09214
R0935
R0943
R09512.5
R0966.5
R09714
R0988.5
R0993.5
R1009
R10110
R1028.5
R1038.5
R1046.5
R10512
R1064.5
R10710.5
R1088.5
R1096
R1109
R1114
R1127
R1134
R1142.5
R11511.5
R1162
R11721.5
R11814.5
R1194.5
R1208
R1216.5
R1225.5
R1234
R1249.5
R12515.5
R12611
R12727
R1281
R12912
R1308.5
R1314
R1323.5
R1333
R13415.5
R1359
R13617
R1375.5
R1386
R1392
R14010.5
R1412
R14212.5
R1434
R1441.5
R1459.5
R1465.5
R1473.5
R14811.5
R1496
R1504
R1518
R1529
R15313
R1542
R15512
R1561
R1574.5
R1582
R1592
R1605
R1614.5
R1621.5
R1639.5
R1646
R16510
R1667.5
R16714.5
R1685
R1699.5
R1703
R17110.5
R1728
R1737.5
R1744.5
R1756
R1761.5
R1775
R1782
R17919.5
R1803
R1812.5
R1825.5
R1834.5
R1843.5
R1852
R1865.5
R1875.5
R1883
R1892.5
R19010
R1919.5
R1923
R1933
R1942.5
R1953
R19611
R19713
R19810.5
R1995
R2006
R20113.5
R2026
R2038.5
R2047.5
R2055
R2063.5
R2079
R2085
R2094.5
R2107.5
R21111.5
R21218
R21312
R2142.5
R21515
R2169
R21710
R2183.5
R2195
R2208
R2216.5
R22215
R2236.5
R2243
R2254
R2262
R2274
R2288
R2297
R2306.5
R2311.5
R2329
R2336
R2346.5
R23511.5
R2365
R2373.5
R2384
R2394.5
R2404.5
ground="cyanotype"

Example

The chart above, in each framework. Pick a framework once and every example on the site follows it.

shell
npm install @silverpoint/react @silverpoint/grounds @silverpoint/fonts
tsx
import '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import { BeeswarmChart } from '@silverpoint/react/beeswarm-chart';

const data = [
  { reader: 'R001', device: 'desktop', minutes: 4 },
  { reader: 'R002', device: 'phone', minutes: 17 },
  { reader: 'R003', device: 'phone', minutes: 3 },
  { reader: 'R004', device: 'phone', minutes: 6.5 },
  { reader: 'R005', device: 'phone', minutes: 3.5 },
  { reader: 'R006', device: 'phone', minutes: 3 },
  { reader: 'R007', device: 'phone', minutes: 4.5 },
  { reader: 'R008', device: 'desktop', minutes: 23.5 },
  { reader: 'R009', device: 'phone', minutes: 1 },
  { reader: 'R010', device: 'desktop', minutes: 1 },
  { reader: 'R011', device: 'phone', minutes: 6.5 },
  { reader: 'R012', device: 'desktop', minutes: 4.5 },
  // … 228 more rows of the same shape
];

export default function App() {
  return (
    <div style={{ width: 480 }}>
      <BeeswarmChart
        data={data}
        valueKey="minutes"
        labelKey="reader"
        title="Reading time per reader"
        unit="min"
      />
    </div>
  );
}

Import

Each chart has its own subpath, so a bundle only carries the charts it uses. Every adapter also exports every chart from its barrel.

FrameworkImport
Reactimport { BeeswarmChart } from '@silverpoint/react/beeswarm-chart';
Vueimport { SpBeeswarmChart } from '@silverpoint/vue/beeswarm-chart';
Angularimport { SpBeeswarmChart } from '@silverpoint/angular/beeswarm-chart'; // <sp-beeswarm-chart>
Reflexfrom reflex_silverpoint_react import beeswarm_chart

Props

The props BeeswarmChart adds to the ones every chart takes. Accessor props (…Key, keys, names) name fields of your rows and are ignored without data.

React / AngularVueReflexTypeDescription
valueKeyvalue-keyvalue_keyAccessor<number | null | undefined>—
groupKeygroup-keygroup_keyAccessor<string | null | undefined>—
labelKeylabel-keylabel_keyAccessor<string | null | undefined>Names the point in the readout and the table.
radiusradiusradiusnumberPoint radius in px; 3 by default.

Common props

Every chart also takes these. Framework conventions: camelCase in React and Angular, kebab-case in Vue templates, snake_case in Reflex. Read more about them.

Show the 22 common props
React / AngularVueReflexTypeDescription
datadatadatareadonly Datum[]Rows to draw. If omitted, the demo dataset is rendered (REQ-093) and the accessor props (…_key, keys, names) are ignored.
groundgroundgroundGroundRefStyle ground: silverpoint or cyanotype, or a ground object. Defaults to the app provider's, or silverpoint.
substratesubstratesubstrateSubstrateNamePrepared substrate within the ground (REQ-046).
modemodemodeInkModeink by default; precision disables inking (REQ-021).
seedseedseedSeedSeed. If omitted, it is derived from id stably (REQ-003).
idididstringStable identifier. If omitted, it is generated deterministically.
heightheightheightnumberHeight of the drawing area in px. Width is the container's unless pinned.
widthwidthwidthnumber—
chromechromechrome'card' | 'bare'card draws the full frame; bare only the drawing area (REQ-095).
hatchFillhatch-fillhatch_fill'tile' | 'per-shape'How areas are filled (REQ-029).
titletitletitlestring—
badgebadgebadgestring—
valuevaluevaluestring | number—
unitunitunitstring—
footerLeftfooter-leftfooter_leftstring—
footerRightfooter-rightfooter_rightstring—
labellabellabelstringAccessible name. If omitted, it is derived from title (REQ-120).
descriptiondescriptiondescriptionstringLong description for screen readers (REQ-120).
dataTabledata-tabledata_table'visible' | 'hidden' | 'none'Tabular alternative; hidden leaves it for assistive technology only (REQ-121).
localelocalelocalestring—
numberFormatnumber-formatnumber_formatIntl.NumberFormatOptions—
classNameclass-nameclass_namestring—

Events

Pointer and keyboard exploration are built in. The item under the pointer or focus is reported, and a click, Enter or Space selects it. The item is { seriesKey, index, datum, value, point: { x, y } }.

FrameworkActive itemSelectionCustom readout
ReactonActiveChangeonSelecttooltip={(item, readout) => …}
Vue@active-change@select<template #tooltip>
Angular(activeChange)(select)<ng-template spTooltip>
Reflexon_active_changeon_selecttooltip=tooltip_template(…)
Interaction and readouts →
Report it
Found something wrong with BeeswarmChart? Open an issue on GitHub — the form comes pre-filled with the chart and the version.