用echarts绘制标准条形图

2,285 阅读1分钟

条形图又称横向柱状图。当维度分类较多,并且维度字段名称又较长时,不适合使用柱状图,应该将多指标柱状图更改为单指标的条形图,从而有效提高数据对比的清晰度。相比柱状图,条形图的优势在于:能够横向布局,方便展示较长的维度项名称。对于条形图的数值大小,必须按照降序排列,以提升条形图的阅读体验。 利用2011年与2012年A、B、C、D、E这5个国家的人口数据,以及世界人口数据,绘制标准条形图。在图中,由上到下各个柱子依次表示2011年和2012年的世界人口、E国人口、D国人口、C国人口、B国人口和A国人口。由于柱子较多,所以适合使用条形图。

image.png

最终的代码生成图如下:

image.png

源代码如下:

<html>

<head>
    <meta charset="utf-8">
    <!--引入ECharts脚本-->
    <script src="js/echarts.js"></script>
</head>

<body>
    <!---为ECharts准备一个具备大小(宽高)的DOM-->
    <div id="main" style="width: 800px; height: 400px"></div>
    <script type="text/javascript">
        //基于准备好的DOM,初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {
            title: {
                text: '世界人口总量',
                subtext: '数据来自网络',
            },
            tooltip: {
                trigger: 'axis',
            },
            legend: {
                data: ['2011年', '2012年'],
            },
            toolbox: {
                show: true,
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: { show: true, type: ['line', 'bar'] },
                    restore: { show: true },
                    saveAsImage: { show: true },
                },
            },
            calculable: true,
            xAxis: [
                {
                    type: 'value',  //设置柱状图
                    boundaryGap: [0, 0.01],
                },
            ],
            yAxis: [
                {
                    type: 'category',
                    data: ['A国', 'B国', 'C国', 'D国', 'E国', '世界人口(万)'],
                },
            ],
            series: [
                {
                    name: '2011年',
                    type: 'bar',
                    data: [18203, 23489, 29034, 104970, 131744, 630230],
                },
                {
                    name: '2012年',
                    type: 'bar',
                    data: [19325, 23438, 31000, 121594, 134141, 681807],
                },
            ],
        };

        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>

</html>