Human workforce
Staff fill a person silhouette.
Open the chart without page chrome ↗
const options = {
chart: {
height: 440,
fontFamily: "Inter, Geist, \"IBM Plex Sans\", system-ui, sans-serif",
type: "unit",
toolbar: {
show: false
}
},
series: [150, 70, 40],
labels: ["Full-time", "Part-time", "Contractors"],
plotOptions: {
unit: {
positions: {
name: "person",
category: "people",
kind: "silhouette",
rings: [
[
[0.65, 0.15],
[0.6494292047137619, 0.16307336141214873],
[0.6477211629518311, 0.17604722665003955],
[0.6448888739433603, 0.1888228567653781],
[0.6409538931178862, 0.2013030214988503],
[0.6359461680554974, 0.2133927392611049],
[0.6299038105676658, 0.22499999999999998],
[0.6228728066433488, 0.23603646545265689],
[0.6149066664678466, 0.24641814145298088],
[0.6060660171779821, 0.2560660171779821],
[0.5964181414529809, 0.26490666646784666],
[0.5860364654526569, 0.2728728066433488],
[0.575, 0.2799038105676658],
[0.5633927392611049, 0.28594616805549744],
[0.5513030214988504, 0.2909538931178862],
[0.5388228567653781, 0.2948888739433603],
[0.5260472266500396, 0.29772116295183115],
[0.5130733614121488, 0.29942920471376183],
[0.5, 0.3],
[0.4869266385878513, 0.29942920471376183],
[0.47395277334996044, 0.29772116295183115],
[0.4611771432346219, 0.2948888739433603],
[0.4486969785011497, 0.2909538931178862],
[0.4366072607388951, 0.2859461680554975],
[0.42500000000000004, 0.2799038105676658],
[0.41396353454734314, 0.2728728066433488],
[0.4035818585470191, 0.26490666646784666],
[0.39393398282201786, 0.2560660171779821],
[0.3850933335321533, 0.2464181414529809],
[0.37712719335665124, 0.23603646545265689],
[0.3700961894323342, 0.22499999999999998],
[0.3640538319445025, 0.2133927392611049],
[0.35904610688211375, 0.20130302149885032],
[0.35511112605663975, 0.18882285676537813],
[0.3522788370481688, 0.1760472266500396],
[0.35057079528623813, 0.16307336141214873],
[0.35, 0.15000000000000002],
[0.35057079528623813, 0.1369266385878513],
[0.3522788370481688, 0.12395277334996042],
[0.35511112605663975, 0.11117714323462194],
[0.35904610688211375, 0.0986969785011497],
[0.36405383194450247, 0.0866072607388951],
[0.37009618943233424, 0.07499999999999998],
[0.37712719335665124, 0.06396353454734312],
[0.3850933335321533, 0.05358185854701911],
[0.39393398282201786, 0.04393398282201788],
[0.4035818585470191, 0.03509333353215331],
[0.413963534547343, 0.027127193356651258],
[0.42499999999999993, 0.02009618943233424],
[0.4366072607388951, 0.014053831944502493],
[0.4486969785011496, 0.009046106882113769],
[0.4611771432346219, 0.005111126056639742],
[0.47395277334996044, 0.002278837048168808],
[0.48692663858785123, 0.0005707952862381571],
[0.5, 0],
[0.5130733614121487, 0.0005707952862381571],
[0.5260472266500394, 0.0022788370481687803],
[0.538822856765378, 0.005111126056639742],
[0.5513030214988504, 0.009046106882113741],
[0.5633927392611048, 0.014053831944502465],
[0.575, 0.02009618943233421],
[0.5860364654526569, 0.02712719335665123],
[0.5964181414529809, 0.035093333532153284],
[0.6060660171779821, 0.04393398282201784],
[0.6149066664678466, 0.053581858547019065],
[0.6228728066433488, 0.06396353454734302],
[0.6299038105676658, 0.07499999999999993],
[0.6359461680554975, 0.08660726073889512],
[0.6409538931178862, 0.09869697850114958],
[0.6448888739433603, 0.11117714323462188],
[0.6477211629518311, 0.12395277334996044],
[0.6494292047137619, 0.13692663858785126]
],
[
[0.16, 0.34],
[0.84, 0.34],
[0.96, 0.68],
[0.76, 0.68],
[0.7, 1],
[0.3, 1],
[0.24, 0.68],
[0.04, 0.68]
]
],
source: "original",
minUnits: 20,
aspect: 0.55,
order: "rowsUp",
cx: undefined,
cy: undefined,
shape: {
name: "person",
category: "people",
kind: "silhouette",
minUnits: 20,
order: "rowsUp",
source: "original"
},
with: e=>St({...t,...e||{}}),
outlined: function outlined(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.16;const n=t.rings.map(t=>{const n=t.reduce((t,e)=>t+e[0],0)/t.length,a=t.reduce((t,e)=>t+e[1],0)/t.length;return t.map(t=>{let o=b(t,2);return[n+(o[0]-n)*(1-e),a+(o[1]-a)*(1-e)]})});return St({...t,name:t.name+"-outlined",kind:"stroke",rings:t.rings.concat(n)})},
fill: (t,n)=>wt(e,t,n),
isUnitShape: true
}
}
},
title: {
text: "Workforce of 260"
},
theme: {
mode: "light",
preset: "coastal"
}
}
const chart = new WestCoastCharts(document.querySelector('#chart'), options)
chart.render()import WestCoastCharts from 'west-coast-charts'
import types from 'west-coast-charts/types'
WestCoastCharts.use(types)
const options = {
chart: {
height: 440,
fontFamily: "Inter, Geist, \"IBM Plex Sans\", system-ui, sans-serif",
type: "unit",
toolbar: {
show: false
}
},
series: [150, 70, 40],
labels: ["Full-time", "Part-time", "Contractors"],
plotOptions: {
unit: {
positions: {
name: "person",
category: "people",
kind: "silhouette",
rings: [
[
[0.65, 0.15],
[0.6494292047137619, 0.16307336141214873],
[0.6477211629518311, 0.17604722665003955],
[0.6448888739433603, 0.1888228567653781],
[0.6409538931178862, 0.2013030214988503],
[0.6359461680554974, 0.2133927392611049],
[0.6299038105676658, 0.22499999999999998],
[0.6228728066433488, 0.23603646545265689],
[0.6149066664678466, 0.24641814145298088],
[0.6060660171779821, 0.2560660171779821],
[0.5964181414529809, 0.26490666646784666],
[0.5860364654526569, 0.2728728066433488],
[0.575, 0.2799038105676658],
[0.5633927392611049, 0.28594616805549744],
[0.5513030214988504, 0.2909538931178862],
[0.5388228567653781, 0.2948888739433603],
[0.5260472266500396, 0.29772116295183115],
[0.5130733614121488, 0.29942920471376183],
[0.5, 0.3],
[0.4869266385878513, 0.29942920471376183],
[0.47395277334996044, 0.29772116295183115],
[0.4611771432346219, 0.2948888739433603],
[0.4486969785011497, 0.2909538931178862],
[0.4366072607388951, 0.2859461680554975],
[0.42500000000000004, 0.2799038105676658],
[0.41396353454734314, 0.2728728066433488],
[0.4035818585470191, 0.26490666646784666],
[0.39393398282201786, 0.2560660171779821],
[0.3850933335321533, 0.2464181414529809],
[0.37712719335665124, 0.23603646545265689],
[0.3700961894323342, 0.22499999999999998],
[0.3640538319445025, 0.2133927392611049],
[0.35904610688211375, 0.20130302149885032],
[0.35511112605663975, 0.18882285676537813],
[0.3522788370481688, 0.1760472266500396],
[0.35057079528623813, 0.16307336141214873],
[0.35, 0.15000000000000002],
[0.35057079528623813, 0.1369266385878513],
[0.3522788370481688, 0.12395277334996042],
[0.35511112605663975, 0.11117714323462194],
[0.35904610688211375, 0.0986969785011497],
[0.36405383194450247, 0.0866072607388951],
[0.37009618943233424, 0.07499999999999998],
[0.37712719335665124, 0.06396353454734312],
[0.3850933335321533, 0.05358185854701911],
[0.39393398282201786, 0.04393398282201788],
[0.4035818585470191, 0.03509333353215331],
[0.413963534547343, 0.027127193356651258],
[0.42499999999999993, 0.02009618943233424],
[0.4366072607388951, 0.014053831944502493],
[0.4486969785011496, 0.009046106882113769],
[0.4611771432346219, 0.005111126056639742],
[0.47395277334996044, 0.002278837048168808],
[0.48692663858785123, 0.0005707952862381571],
[0.5, 0],
[0.5130733614121487, 0.0005707952862381571],
[0.5260472266500394, 0.0022788370481687803],
[0.538822856765378, 0.005111126056639742],
[0.5513030214988504, 0.009046106882113741],
[0.5633927392611048, 0.014053831944502465],
[0.575, 0.02009618943233421],
[0.5860364654526569, 0.02712719335665123],
[0.5964181414529809, 0.035093333532153284],
[0.6060660171779821, 0.04393398282201784],
[0.6149066664678466, 0.053581858547019065],
[0.6228728066433488, 0.06396353454734302],
[0.6299038105676658, 0.07499999999999993],
[0.6359461680554975, 0.08660726073889512],
[0.6409538931178862, 0.09869697850114958],
[0.6448888739433603, 0.11117714323462188],
[0.6477211629518311, 0.12395277334996044],
[0.6494292047137619, 0.13692663858785126]
],
[
[0.16, 0.34],
[0.84, 0.34],
[0.96, 0.68],
[0.76, 0.68],
[0.7, 1],
[0.3, 1],
[0.24, 0.68],
[0.04, 0.68]
]
],
source: "original",
minUnits: 20,
aspect: 0.55,
order: "rowsUp",
cx: undefined,
cy: undefined,
shape: {
name: "person",
category: "people",
kind: "silhouette",
minUnits: 20,
order: "rowsUp",
source: "original"
},
with: e=>St({...t,...e||{}}),
outlined: function outlined(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.16;const n=t.rings.map(t=>{const n=t.reduce((t,e)=>t+e[0],0)/t.length,a=t.reduce((t,e)=>t+e[1],0)/t.length;return t.map(t=>{let o=b(t,2);return[n+(o[0]-n)*(1-e),a+(o[1]-a)*(1-e)]})});return St({...t,name:t.name+"-outlined",kind:"stroke",rings:t.rings.concat(n)})},
fill: (t,n)=>wt(e,t,n),
isUnitShape: true
}
}
},
title: {
text: "Workforce of 260"
},
theme: {
mode: "light",
preset: "coastal"
}
}
const chart = new WestCoastCharts(document.querySelector('#chart'), options)
await chart.render() Waiting for the chart.
Open Data & agent view to read this chart through chart.describe().
Read from the running library through its optional agent/describe module. Text, table and JSON share the same snapshot. Demo data only.
$ wcc chart export unit-human-workforce.json --out unit-human-workforce.svg --with-table Public agent tools 0.2.3, tested with Library 1.1.5; available from the versioned GitHub release and npm. Save a JSON spec first and check the loaded runtime and supported modules before rendering. Command reference
Loading /gallery/unit/human-workforce/index.md …