Bar Chart
Bar charts display data as horizontal bars. The bar length represents the data value.
Usage
To visualize data with a bar chart, use type: 'bar':
| Item 1 | 40% |
|---|---|
| Item 2 | 60% |
| Item 3 | 80% |
Chart({ type: 'bar', labels: true },
Chart.Body({},
Chart.Row({},
Chart.Label({}, 'Item 1'),
Chart.Data({ value: 0.4 }, $('span', { class: 'data' }, '40%'))
),
Chart.Row({},
Chart.Label({}, 'Item 2'),
Chart.Data({ value: 0.6 }, $('span', { class: 'data' }, '60%'))
),
Chart.Row({},
Chart.Label({}, 'Item 3'),
Chart.Data({ value: 0.8 }, $('span', { class: 'data' }, '80%'))
)
)
)
Multiple Datasets
Add multiple Chart.Data elements per row and set
multiple: true:
| Q1 | East | West | North |
|---|---|---|---|
| Q2 | East | West | North |
| Q3 | East | West | North |
Chart({ type: 'bar', multiple: true, labels: true, primaryAxis: true, spacing: 5 },
Chart.Body({},
Chart.Row({},
Chart.Label({}, 'Q1'),
Chart.Data({ value: 0.3, color: '#4CAF50' }, $('span', { class: 'data' }, 'East')),
Chart.Data({ value: 0.5, color: '#2196F3' }, $('span', { class: 'data' }, 'West')),
Chart.Data({ value: 0.4, color: '#FF9800' }, $('span', { class: 'data' }, 'North'))
),
Chart.Row({},
Chart.Label({}, 'Q2'),
Chart.Data({ value: 0.5, color: '#4CAF50' }, $('span', { class: 'data' }, 'East')),
Chart.Data({ value: 0.6, color: '#2196F3' }, $('span', { class: 'data' }, 'West')),
Chart.Data({ value: 0.7, color: '#FF9800' }, $('span', { class: 'data' }, 'North'))
),
Chart.Row({},
Chart.Label({}, 'Q3'),
Chart.Data({ value: 0.7, color: '#4CAF50' }, $('span', { class: 'data' }, 'East')),
Chart.Data({ value: 0.8, color: '#2196F3' }, $('span', { class: 'data' }, 'West')),
Chart.Data({ value: 0.5, color: '#FF9800' }, $('span', { class: 'data' }, 'North'))
)
)
)
Axes
Control axis visibility with primaryAxis and secondaryAxis:
| Jan | 25% |
|---|---|
| Feb | 50% |
| Mar | 75% |
| Apr | 100% |
Chart({ type: 'bar', labels: true, primaryAxis: true, secondaryAxis: 'show-4-secondary-axes' },
Chart.Body({},
Chart.Row({},
Chart.Label({}, 'Jan'),
Chart.Data({ value: 0.25 }, $('span', { class: 'data' }, '25%'))
),
Chart.Row({},
Chart.Label({}, 'Feb'),
Chart.Data({ value: 0.5 }, $('span', { class: 'data' }, '50%'))
),
Chart.Row({},
Chart.Label({}, 'Mar'),
Chart.Data({ value: 0.75 }, $('span', { class: 'data' }, '75%'))
),
Chart.Row({},
Chart.Label({}, 'Apr'),
Chart.Data({ value: 1.0 }, $('span', { class: 'data' }, '100%'))
)
)
)
Spacing
Control the gap between bars with the spacing prop (1-20):
spacing: 2
| A | |
|---|---|
| B | |
| C |
spacing: 15
| A | |
|---|---|
| B | |
| C |
Orientation
Use reverse: true to reverse the chart orientation:
| First | 30% |
|---|---|
| Second | 60% |
| Third | 90% |
Chart({ type: 'bar', labels: true, reverse: true },
Chart.Body({},
Chart.Row({},
Chart.Label({}, 'First'),
Chart.Data({ value: 0.3 }, $('span', { class: 'data' }, '30%'))
),
Chart.Row({},
Chart.Label({}, 'Second'),
Chart.Data({ value: 0.6 }, $('span', { class: 'data' }, '60%'))
),
Chart.Row({},
Chart.Label({}, 'Third'),
Chart.Data({ value: 0.9 }, $('span', { class: 'data' }, '90%'))
)
)
)
Stacked Bars
Create stacked bars by setting stacked: true (or using
.stacked class):
| 2021 | |||
|---|---|---|---|
| 2022 | |||
| 2023 |
Chart({ type: 'bar', multiple: true, stacked: true, labels: true },
Chart.Body({},
Chart.Row({},
Chart.Label({}, '2021'),
Chart.Data({ value: 0.2, color: '#4CAF50' }),
Chart.Data({ value: 0.3, color: '#2196F3' }),
Chart.Data({ value: 0.1, color: '#FF9800' })
),
// ... more rows
)
)