千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > echarts柱状图的宽度详解

echarts柱状图的宽度详解

来源:千锋教育
发布人:xqq
时间: 2023-11-24 11:48:55 1700797735

一、如何设置echarts柱状图的宽度

在echarts中,可以通过设置series中的itemStyle.normal.barWidth属性来调整柱状图的宽度。该属性的值可以是一个数值,也可以是一个百分数。如果设置为某个数值,则所有柱子的宽度都将被设置为该值;如果设置为一个百分数,则柱子的宽度将按照屏幕宽度进行缩放。


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: {
            normal: {
                barWidth: 30 // 设置柱子宽度为30
            }
        }
    }]
};

二、如何设置echarts柱状图的边框

设置柱状图的边框可以在itemStyle.normal中设置borderColor和borderWidth属性,分别代表边框颜色和边框宽度。


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: {
            normal: {
                borderColor: 'red', // 设置边框颜色为红色
                borderWidth: 2 // 设置边框宽度为2
            }
        }
    }]
};

三、如何让echarts柱状图倾斜

可以通过设置label.normal.rotate属性,将柱状图倾斜。该属性的值为一个角度值,如果值为正数则代表逆时针旋转,否则代表顺时针旋转。


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',
        label: {
            normal: {
                rotate: -30 // 将标签旋转30度
            }
        }
    }]
};

四、如何调整echarts柱状图的宽度和间距

可以通过系列间距和柱间距来控制柱状图的宽度和间距。系列间距可以在grid中设置,柱间距可以在xAxis中设置。它们的值都是一个百分数。


option = {
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLabel: {
            interval: 0, // 强制显示所有标签
            rotate: -30 // 将标签旋转30度
        },
        axisTick: {
            alignWithLabel: true
        },
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        boundaryGap: true, // 首尾柱子是否留白
        barGap: '30%', // 设置柱间距为系列宽度的30%
        barCategoryGap: '20%' // 设置系列间距为柱的20%
    },
    yAxis: {
        type: 'value',
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        splitLine: {
            lineStyle: {
                color: '#D9D9D9'
            }
        }
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        barWidth: '50%', // 设置柱宽为系列宽度的50%
        itemStyle: {
            normal: {
                color: '#54C0B0'
            }
        }
    }]
};

五、如何更好的呈现echarts柱状图的数据格式

可以通过给柱状图添加标签,来更好地呈现数据格式。既可以在xAxis中设置axisLabel.show属性为false,然后在series中设置label.normal.show属性为true,也可以在xAxis中设置axisLabel.show属性为true,然后在series中设置label.normal.position属性来控制标签的位置。


option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLabel: {
            show: false // 不显示标签
        },
        axisTick: {
            alignWithLabel: true
        },
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        boundaryGap: true, // 首尾柱子是否留白
        barGap: '30%', // 设置柱间距为系列宽度的30%
        barCategoryGap: '20%' // 设置系列间距为柱的20%
    },
    yAxis: {
        type: 'value',
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        splitLine: {
            lineStyle: {
                color: '#D9D9D9'
            }
        }
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        barWidth: '50%', // 设置柱宽为系列宽度的50%
        itemStyle: {
            normal: {
                color: '#54C0B0'
            },
            emphasis: {
                color: '#76D7C4'
            } // 鼠标悬停时的颜色
        },
        label: {
            normal: {
                show: true, // 显示标签
                position: 'top' // 标签位置设置为顶部
            }
        }
    }]
};

六、如何设置echarts横向柱状图的间距

横向柱状图的间距设置和竖向柱状图类似,不同的只是xAxis和yAxis的设置。其中,xAxis代表y轴,yAxis代表x轴。


option = {
    yAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLabel: {
            interval: 0, // 强制显示所有标签
            rotate: -30 // 将标签旋转30度
        },
        axisTick: {
            alignWithLabel: true
        },
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        boundaryGap: true, // 首尾柱子是否留白
        barGap: '30%', // 设置柱间距为系列宽度的30%
        barCategoryGap: '20%' // 设置系列间距为柱的20%
    },
    xAxis: {
        type: 'value',
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        splitLine: {
            lineStyle: {
                color: '#D9D9D9'
            }
        }
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        barWidth: '50%', // 设置柱宽为系列宽度的50%
        itemStyle: {
            normal: {
                color: '#54C0B0'
            },
            emphasis: {
                color: '#76D7C4'
            } // 鼠标悬停时的颜色
        },
        label: {
            normal: {
                show: true, // 显示标签
                position: 'right' // 标签位置设置为右侧
            }
        }
    }]
};

七、如何选取echarts柱状图数据过多的情况下的数据

在数据过多的情况下,可以通过xAxis中的axisLabel.interval属性来设置显示步长。如果数据比较密集,可以适当调小步长,如果数据比较稀疏,可以适当调大步长。


option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        axisLabel: {
            interval: 0, // 强制显示所有标签
            rotate: -30 // 将标签旋转30度
        },
        axisTick: {
            alignWithLabel: true
        },
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        boundaryGap: true, // 首尾柱子是否留白
        barGap: '30%', // 设置柱间距为系列宽度的30%
        barCategoryGap: '20%' // 设置系列间距为柱的20%
    },
    yAxis: {
        type: 'value',
        axisLine: {
            lineStyle: {
                color: '#999999'
            }
        },
        splitLine: {
            lineStyle: {
                color: '#D9D9D9'
            }
        }
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        barWidth: '50%', // 设置柱宽为系列宽度的50%
        itemStyle: {
            normal: {
                color: '#54C0B0'
            },
            emphasis: {
                color: '#76D7C4'
            } // 鼠标悬停时的颜色
        },
        label: {
            normal: {
                show: true, // 显示标签
                position: 'top' // 标签位置设置为顶部
            }
        }
    }]
};

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT