echarts 实现柱状图左右横向显示

本文介绍如何使用ECharts库有效地展示带有负数的数据集,通过实例代码演示了如何设置图表以正确显示负数轴及浮动负数,并提供了解决方案来优化提示框的内容展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体实现代码如下 解决echarts 负轴,浮动负数,等的显示


function chart_rkk(){
    var rkkchart=echarts.init(document.getElementById('rkkDiv'));
    var ageArea = [ '0~10','11~30','30~60','60~100','100以上'];
    var FbarData = [3100, 2142, 1218, 581, 431]; //男
    var MbarData = [-3010, -2742, -218, -381, -521]; //女

    option = {
            tooltip : {
                trigger: 'axis',
                axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                    type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                },
                 formatter: function (params, ticket, callback) {
                                   console.log(params)
                                   var res = params[0].name ;
                                   for (var i = 0, l = params.length; i < l; i++) {
                                       res += '<br/>' + params[i].seriesName + ' : ' + Math.abs(params[i].value) ;     
                                       }
                                   setTimeout(function () {
                                       // 仅为了模拟异步回调
                                       callback(ticket, res);
                                   }, 500)
                                   return 'loading...';
                               }
            },
            legend: {
                data:[ '男', '女']
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            xAxis : [
                {
                    axisLabel : { formatter: function (value){return Math.abs(value);//显示的数值都取绝对值
                } 
        },
                    type : 'value'
                }
            ],
            yAxis : [
                {
                    type : 'category',
                    axisTick : {show: false},
                   // data : ['0~5岁','5~10岁','10-30岁','30-50岁','50-70岁','70-100','100以上']
                    data : ageArea
                }
            ],
            series : [
                {
                    name:'男',
                    type:'bar',
                    stack: '总量',
                    label: {
                        normal: {
                            show: true,
                            position: 'right',

                        }
                    },
                   // data:[320, 302, 341, 374, 390, 450, 420]
                    data:FbarData
                },
                {
                    name:'女',
                    type:'bar',
                    stack: '总量',
                    label: {
                        normal: {
                            show: true,
                            position: 'left',
                           formatter:function(v){return Math.abs(v.data)}
                        }
                    },

                   // data:[-120, -132, -101, -134, -190, -230, -210]
                    data:MbarData
                }
            ]
        };
    rkkchart.setOption(option);

}

显示效果入选择框

### 解决ECharts横向柱状图中标签显示不全的方法 为了确保ECharts横向柱状图中的`label`能够完整显示,可以调整图表配置项来优化布局和样式。具体方法如下: #### 1. 设置 `label` 的位置和偏移量 通过设置 `series.label.position` 属性为特定的位置或相对偏移量,可以使标签更好地适应图表空间。 ```javascript series: [{ type: 'bar', label: { show: true, color: '#4ED8FF', position: [450, '30%'] // 使用绝对或相对位置控制标签相对于柱子的距离[^1] } }] ``` #### 2. 配置 `axisLabel` 和 `padding` 对于Y轴上的类别名称(即左侧的标签),可以通过增加内边距(`padding`) 或者调整其内部对齐方式 (`inside`) 来防止被裁剪掉部分内容。 ```javascript yAxis: { type: 'category', axisLabel: { inside: true, padding: [200, 0, 10, 0], // 增大上下左右四个方向上的间距以留出更多空间给文字[^3] textStyle: { color: "#fff", verticalAlign: "bottom" } }, } ``` #### 3. 启用 `dataZoom` 组件处理大量数据情况下的溢出问题 当存在较多的数据项时,可能会因为屏幕宽度有限而导致部分标签无法完全展示出来。此时启用 `dataZoom` 控件可以帮助用户查看完整的数据集而不会丢失任何重要信息。 ```javascript dataZoom: [ { type: 'slider', // 滑动条型 dataZoom startValue: 0, endValue: 10 // 初始可见范围 }, { type: 'inside' // 内部缩放控件 } ], toolbox: { feature: {} } // 如果需要的话还可以加入工具箱功能以便于操作 ``` 以上措施结合起来应该能有效改善 ECharts横向柱形图标签显示不全的情况。当然实际应用过程中还需要根据具体的业务场景和个人偏好做适当微调。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值