echart柱形图一个柱子显示3组数据 (echarts绘图怎么显示图例)

Echart 多图同一Div 渲染重叠的问题,实验下来,最有效的一个方法就是这个,在初始化之前,加一句 removeAttr。。, 其他方法如.clear, .dispose, .setOption({},true) 均失败。。。

            $("#mid_right_chart").removeAttr("_echarts_instance_").empty(); // remove 之前生成的层
            var main_chart = echarts.init(document.getElementById('mid_right_chart')); //初始化
function pu_stp_chart() {
            $("#mid_right_chart").removeAttr("_echarts_instance_").empty() 
            var main_chart = echarts.init(document.getElementById('mid_right_chart'));
            main_chart.showLoading();    //数据加载完之前先显示一段简单的loading动画
            var br_pu_vol = [];
            var br_plan_pu_pkg = [];
            var br_pu_stp = [];
            var br_plan_pu_stp = [];
            var br_pu_pps = [];
            var br_pu_pln_pps = [];
            var x_data = [];
            var x_type = $("#chart_type").val()
            var year_num = $("#year_num").val()
            $.ajax({
                type: "POST",
                url: "json/main_json.php",
                contentType: "application/x-www-form-urlencoded", // 如果是post必须定义
                dataType: "json",
                json: "callback",
                data: {
                    action: "q_pu_pps",
                    type: x_type,
                    year_num: year_num
                },
                success: function (result) {
                    if (result) {
                        for (var i = 0; i < result.length; i++) {
                            x_data.push(result[i].x_data);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_pu_vol.push(result[i].br_pu_vol);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_plan_pu_pkg.push(result[i].br_plan_pu_pkg);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_pu_stp.push(result[i].br_pu_stp);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_plan_pu_stp.push(result[i].br_plan_pu_stp);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_pu_pps.push(result[i].br_pu_pps);
                        }
                        for (var i = 0; i < result.length; i++) {
                            br_pu_pln_pps.push(result[i].br_pu_pln_pps);
                        }
                        main_chart.hideLoading();    //隐藏加载动画
                        main_chart.setOption({
                            title: {
                                text: 'Brown Pickup Stop'
                            },
                            toolbox: {
                                feature: {
                                    dataView: { show: true, readOnly: false },
                                    magicType: { show: true, type: ['line', 'bar'] },
                                    restore: { show: true },
                                    saveAsImage: { show: false },
                                    label: { show: true }
                                }
                            },
                            tooltip: {},
                            legend: {
                                data: ['Pickup Stp', 'Pickup Pcs', 'Pickup PPS']
                            },
                            xAxis: {
                                data: x_data
                            },
                            yAxis: [
                                {
                                    splitNumber: 5,
                                },
                                {
                                    splitNumber: 5,
                                },
                                {
                                    splitNumber: 5,
                                    axisLabel: { show: false }
                                }
                            ],
                            series: [
                                {
                                    name: 'Pickup Stp',
                                    type: 'line',
                                    yAxisIndex: 0,
                                    label: {
                                        show: true,
                                        position: 'left',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    lineStyle: {
                                        normal: {
                                            color: '#8B4513'
                                        }
                                    },
                                    data: br_pu_stp
                                },
                                {
                                    name: 'Pickup Stp',
                                    type: 'line',
                                    yAxisIndex: 0,
                                    label: {
                                        show: true,
                                        position: 'left',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    lineStyle: {
                                        normal: {
                                            type: 'dotted',
                                            color: '#8B4513'
                                        }
                                    },
                                    data: br_plan_pu_stp
                                },
                                {
                                    name: 'Pickup Pcs',
                                    type: 'line',
                                    yAxisIndex: 1,
                                    label: {
                                        show: true,
                                        position: 'right',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    lineStyle: {
                                        normal: {
                                            color: '#87CEFA'
                                        }
                                    },
                                    data: br_pu_vol
                                },
                                {
                                    name: 'Pickup Pcs',
                                    type: 'line',
                                    yAxisIndex: 1,
                                    label: {
                                        show: true,
                                        position: 'right',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    lineStyle: {
                                        normal: {
                                            type: 'dotted',
                                            color: '#87CEFA'
                                        }
                                    },
                                    data: br_plan_pu_pkg
                                },
                                {
                                    name: 'Pickup PPS',
                                    type: 'bar',
                                    yAxisIndex: 2,
                                    label: {
                                        show: true,
                                        position: 'top',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    itemStyle: {
                                        normal: {
                                            color: '#9ACD32'
                                        }
                                    },
                                    data: br_pu_pps
                                },
                                {
                                    name: 'Pickup PPS',
                                    type: 'bar',
                                    yAxisIndex: 2,
                                    label: {
                                        show: true,
                                        position: 'top',
                                        formatter: function (p) {
                                            return formatNum(p.value)
                                        }
                                    },
                                    itemStyle: {
                                        normal: {
                                            color: '#2E8B57'
                                        }
                                    },
                                    data: br_pu_pln_pps
                                }
                            ]
                        });
                    }
                },
                error: function (errorMsg) {
                    alert("Request fail");
                    main_chart.hideLoading();
                }
            })
        }