您的位置:

详解echarts条形图

一、echarts条形图是什么

echarts条形图是一种常用的数据可视化图表,它可以用于展示某一类别的数据在不同属性指标下的数量大小关系。条形图的主要特点是横轴表示类别,纵轴表示数量或比例。

下面是echarts条形图的基本示例代码:

    
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        
        // 指定图表的配置项和数据
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar'
            }]
        };
        
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    

二、echarts条形图降序排列

有时候,我们需要将条形图按照数量大小进行排序,使得数据更加清晰明了。可以通过设置数据进行排序,然后在option的series中添加sort属性。

示例代码如下:

    
        var data = [120, 200, 150, 80, 70, 110, 130];
        data.sort(function(a, b){return b-a}); // 降序排列
        
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: data,
                type: 'bar',
                sort: 'none' // 取消默认排序
            }]
        };
    

三、echarts条形图提示框

echarts条形图可以打开提示框,展示更详细的数据信息。可以通过设置tooltip属性来实现。

示例代码如下:

    
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            tooltip: { // 设置提示框
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar'
            }]
        };
    

四、echarts条形图居中

有时候,我们需要让条形图在整个画布中居中显示。可以通过设置grid属性来实现。

示例代码如下:

    
        var option = {
            grid: {
                left: '20%',
                right: '20%',
                bottom: '20%',
                top: '20%',
                containLabel: true
            },
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar'
            }]
        };
    

五、echarts条形图之间的距离

默认情况下,echarts条形图之间的距离是由echarts自动计算的。如果需要手动设置echarts条形图之间的距离,可以通过设置barWidth属性和barGap属性实现。

示例代码如下:

    
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar',
                barWidth: 40, // 设置条形图宽度
                barGap: '50%' // 设置条形图之间的间隔
            }]
        };
    

六、echarts绘制条形图

echarts条形图可以通过设置不同的series来绘制多种效果、多种数据。例如水平条形图、堆积条形图、渐变色条形图等。

示例代码如下:

    
        var option = {
            xAxis: {
                type: 'value'
            },
            yAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar',
                itemStyle: { // 设置渐变色
                    color: new echarts.graphic.LinearGradient(
                        0, 0, 1, 1,
                        [
                            {offset: 0, color: '#7FFFAA'},
                            {offset: 1, color: '#2E8B57'}
                        ]
                    )
                }
            }, {
                data: [220, 280, 250, 260, 270, 210, 230],
                type: 'bar',
                itemStyle: { // 设置渐变色
                    color: new echarts.graphic.LinearGradient(
                        0, 0, 1, 1,
                        [
                            {offset: 0, color: '#87CEFA'},
                            {offset: 1, color: '#1E90FF'}
                        ]
                    )
                }
            }]
        };
    

七、echarts条形图排序

除了通过设置数据进行排序以外,还可以通过设置visualMap属性来实现。visualMap是echarts中的一种可视化组件,用于控制不同颜色的映射关系,可以通过拖动滑块的方式来控制颜色的变化。

示例代码如下:

    
        var data = [120, 200, 150, 80, 70, 110, 130];
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: data,
                type: 'bar'
            }],
            visualMap: { // 设置visualMap
                type: 'continuous',
                dimension: 0,
                seriesIndex: 0,
                min: 0,
                max: 6,
                inRange: {
                    color: ['#F5DEB3', '#8B4513']
                }
            }
        };
    

八、echarts条形图线条加粗

如果需要让echarts条形图的线条更加粗细,可以通过设置lineStyle中的width属性来实现。

示例代码如下:

    
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar',
                itemStyle: {
                    borderWidth: 2, // 设置线宽
                    borderColor: '#333' // 设置线颜色
                },
                emphasis: { // 设置高亮
                    itemStyle: {
                        color: '#87CEFA',
                        borderColor: '#1E90FF', // 设置高亮颜色
                        borderWidth: 5 // 设置线宽
                    }
                }
            }]
        };
    

九、echarts菜鸟教程

如果您是初学者,可以通过echarts官网提供的菜鸟教程来了解更多关于echarts条形图的内容。菜鸟教程提供了完整的示例代码和详细的教程,可以帮助您快速入门。

示例代码如下:

    
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar'
            }]
        };
    

十、echarts饼图

如果您需要展示的数据是百分比形式,可以尝试使用echarts饼图来进行可视化展示。饼图可以非常直观地展示不同比例的数据占比。

示例代码如下:

    
        var option = {
            tooltip: {
                trigger: 'item',
                formatter: '{a} 
{b}: {c} ({d}%)' }, legend: { orient: 'vertical', left: 10, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, series: [ { name: '访问来源', type: 'pie', radius: ['40%', '60%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, labelLine: { show: false }, data: [ {value: 120, name: 'Mon'}, {value: 200, name: 'Tue'}, {value: 150, name: 'Wed'}, {value: 80, name: 'Thu'}, {value: 70, name: 'Fri'}, {value: 110, name: 'Sat'}, {value: 130, name: 'Sun'} ] } ] };