MUI X: Build complex and data-rich applications using a growing list of advanced React components, like the Data Grid, Date and Time Pickers, Charts, and more!
Highcharts: [string, number][] an array of tupple with the name of the item and its value
Plot options
Orientation: horizontal/vertical
Alignement: 'left', 'right', 'center'. I personally would prefer 'start', 'middle', 'end' because it stays relevant for
horizontal display
the gap between items
getting colors: adding them to the items data, or using a colormap based on values
sorting. Items can be sorted by their value, or displayed in the provided order
Instead of computing the max value we can let the user fill a max property such that they can plot two funnels with different maximal values, but the same scale
Nivo has a notion of separator. I'm not a big fan of it:
Highcharts has a completely custom approach: They display a funnel where you can customize neckWidth, neckHeight and value are represented by the height of the item. It's basicaly a stacked bar with a funnel mask on top of it
Side note
This component is somewhat similar to the pie chart:
Commercial license holder and a very old Material UI supporter and promoter. I would like this type of chart available for pro/premium. Thanks for the amazing work.
https://www.atlassian.com/data/charts/funnel-chart-complete-guide
Benchmarks
MUI X Funnel chart
https://mui.com/x/react-charts/funnel/
Benchmark
Data structure
data
can eihter be an array of number, or an array of objects{name, value, label, ...}
{ id: string | number, label: string, value: number }[]
[string, number][]
an array of tupple with the name of the item and its valuePlot options
max
property such that they can plot two funnels with different maximal values, but the same scaleNivo has a notion of separator. I'm not a big fan of it:
Highcharts has a completely custom approach: They display a funnel where you can customize
neckWidth
,neckHeight
and value are represented by the height of the item. It's basicaly a stacked bar with a funnel mask on top of itSide note
This component is somewhat similar to the pie chart: