区间条形图(带图例)

效果

使用方法



<template>
<div>
<lt-canvas ref="canvas" :width="750" :height="500"></lt-canvas>
</div>
</template>
<script>
import LightChart from 'light-chart';
export default {
components:{
ltCanvas:require("light-chart/canvas")
},
data(){
return {}
},
mounted(){
const data = [
{ gender: 'Male', value: -2.2, cate: '0-4' },
{ gender: 'Male', value: -2.2, cate: '5-9' },
{ gender: 'Male', value: -2.3, cate: '10-14' },
{ gender: 'Male', value: -2.5, cate: '15-19' },
{ gender: 'Male', value: -2.7, cate: '20-24' },
{ gender: 'Male', value: -3.1, cate: '25-29' },
{ gender: 'Male', value: -3.2, cate: '30-34' },
{ gender: 'Male', value: -3.0, cate: '35-39' },
{ gender: 'Male', value: -3.2, cate: '40-44' },
{ gender: 'Male', value: -4.3, cate: '45-49' },
{ gender: 'Male', value: -4.4, cate: '50-54' },
{ gender: 'Male', value: -3.6, cate: '55-59' },
{ gender: 'Male', value: -3.1, cate: '60-64' },
{ gender: 'Male', value: -2.4, cate: '65-69' },
{ gender: 'Male', value: -2.5, cate: '70-74' },
{ gender: 'Male', value: -2.3, cate: '75-79' },
{ gender: 'Male', value: -1.2, cate: '80-84' },
{ gender: 'Male', value: -0.6, cate: '85-89' },
{ gender: 'Male', value: -0.2, cate: '90-94' },
{ gender: 'Male', value: -0.1, cate: '95-99' },
{ gender: 'Male', value: -0.1, cate: '100 +' },
{ gender: 'Female', value: 2.1, cate: '0-4' },
{ gender: 'Female', value: 2.0, cate: '5-9' },
{ gender: 'Female', value: 2.2, cate: '10-14' },
{ gender: 'Female', value: 2.4, cate: '15-19' },
{ gender: 'Female', value: 2.6, cate: '20-24' },
{ gender: 'Female', value: 3.0 , cate: '25-29'},
{ gender: 'Female', value: 3.1, cate: '30-34' },
{ gender: 'Female', value: 2.9, cate: '35-39' },
{ gender: 'Female', value: 3.1, cate: '40-44' },
{ gender: 'Female', value: 4.1, cate: '45-49' },
{ gender: 'Female', value: 4.3, cate: '50-54' },
{ gender: 'Female', value: 3.6, cate: '55-59' },
{ gender: 'Female', value: 3.4, cate: '60-64' },
{ gender: 'Female', value: 2.6, cate: '65-69' },
{ gender: 'Female', value: 2.9, cate: '70-74' },
{ gender: 'Female', value: 2.9, cate: '75-79' },
{ gender: 'Female', value: 1.8, cate: '80-84' },
{ gender: 'Female', value: 1.2, cate: '85-89' },
{ gender: 'Female', value: 0.6, cate: '90-94' },
{ gender: 'Female', value: 0.1, cate: '95-99' },
{ gender: 'Female', value: 0.1, cate: '100 +' }
];
let chart = new LightChart.Chart({
ltCanvas:this.$refs.canvas
});

chart.source(data, {
range: {
value: 5
}
});
chart.coord({
transposed: true
});
chart.axis('cate', {
line: LightChart.Global._defaultAxis.line,
grid: null
});
chart.axis('value', {
line: null,
grid: LightChart.Global._defaultAxis.grid,
label(text, index, total) {
const textCfg = {};
if (index === 0) {
textCfg.textAlign = 'left';
}
if (index === total - 1) {
textCfg.textAlign = 'right';
}
return textCfg;
}
});
chart.interval().position('cate*value').color('gender').adjust('stack');
chart.render();
}
}
</script>
<style scoped>

</style>