Column charts display data as vertical bars. The column height represents the data value.
Basic Usage
To visualize data with a column chart, use type: 'column'.
await import('/components/data-display/chart.js');
const { tags, $ } = Lightview;
const { Chart, span } = tags;
const chart = Chart({
type: 'column',
labels: true,
style: 'width: 100%; max-width: 600px; height: 250px; margin: 0 auto;'
},
Chart.Body({},
Chart.Row({}, Chart.Label({}, 'Jan'), Chart.Data({ value: 0.4 }, span({ class: 'data' }, '40%'))),
Chart.Row({}, Chart.Label({}, 'Feb'), Chart.Data({ value: 0.6 }, span({ class: 'data' }, '60%'))),
Chart.Row({}, Chart.Label({}, 'Mar'), Chart.Data({ value: 0.8 }, span({ class: 'data' }, '80%'))),
Chart.Row({}, Chart.Label({}, 'Apr'), Chart.Data({ value: 0.5 }, span({ class: 'data' }, '50%')))
)
);
$('#example').content(chart);
Multiple Datasets
Add multiple Chart.Data elements per row and set
multiple: true.
await import('/components/data-display/chart.js');
const { tags, $ } = Lightview;
const { Chart } = tags;
const chart = Chart({
type: 'column',
multiple: true,
labels: true,
primaryAxis: true,
primaryAxis: true,
style: 'width: 100%; max-width: 600px; height: 280px; margin: 0 auto;'
},
Chart.Body({},
Chart.Row({},
Chart.Label({}, 'Q1'),
Chart.Data({ value: 0.4, color: '#4CAF50' }),
Chart.Data({ value: 0.6, color: '#2196F3' }),
Chart.Data({ value: 0.3, color: '#FF9800' })
),
Chart.Row({},
Chart.Label({}, 'Q2'),
Chart.Data({ value: 0.5, color: '#4CAF50' }),
Chart.Data({ value: 0.7, color: '#2196F3' }),
Chart.Data({ value: 0.5, color: '#FF9800' })
),
Chart.Row({},
Chart.Label({}, 'Q3'),
Chart.Data({ value: 0.7, color: '#4CAF50' }),
Chart.Data({ value: 0.5, color: '#2196F3' }),
Chart.Data({ value: 0.8, color: '#FF9800' })
),
Chart.Row({},
Chart.Label({}, 'Q4'),
Chart.Data({ value: 0.9, color: '#4CAF50' }),
Chart.Data({ value: 0.8, color: '#2196F3' }),
Chart.Data({ value: 0.6, color: '#FF9800' })
)
)
);
$('#example').content(chart);
Axes
Control axis visibility with primaryAxis and secondaryAxis.
await import('/components/data-display/chart.js');
const { tags, $ } = Lightview;
const { Chart, span } = tags;
const chart = Chart({
type: 'column',
labels: true,
primaryAxis: true,
secondaryAxesCount: 5,
style: 'width: 100%; max-width: 600px; height: 280px; margin: 0 auto;'
},
Chart.Body({},
Chart.Row({}, Chart.Label({}, 'A'), Chart.Data({ value: 0.2 }, span({ class: 'data' }, '20%'))),
Chart.Row({}, Chart.Label({}, 'B'), Chart.Data({ value: 0.4 }, span({ class: 'data' }, '40%'))),
Chart.Row({}, Chart.Label({}, 'C'), Chart.Data({ value: 0.6 }, span({ class: 'data' }, '60%'))),
Chart.Row({}, Chart.Label({}, 'D'), Chart.Data({ value: 0.8 }, span({ class: 'data' }, '80%'))),
Chart.Row({}, Chart.Label({}, 'E'), Chart.Data({ value: 1.0 }, span({ class: 'data' }, '100%')))
)
);
$('#example').content(chart);