Vue——ElementUI+Echarts将数据以柱形图展示

一、原始数据

如图所示,数据统计以文字形式展示,不够直观(酷炫
在这里插入图片描述

二、效果图

在这里插入图片描述

三、代码实现

1.定义方法

定义方法RenderEcharts(obj),用于生成柱状图,参数obj指我们用于生成柱形图的数据

methods:{
    //柱状图
        RenderEcharts(obj) {
            // console.log('单位主协办情况');
            // console.log(obj);
            let deptArr = [];
            let hostArr = [];
            let helpArr = [];
            obj.forEach(dept => {
                deptArr.push(dept.dname);
                hostArr.push(dept.host);
                helpArr.push(dept.help);
            });
            var chartDom = document.getElementById('main');
            var myChart = echarts.init(chartDom);
            var option;

            option = {
                title: {
                    text: '单位主协办数量分析',
                    subtext: ''
                },
                tooltip: {
                    trigger: 'axis',
                    show: false
                },
                legend: {
                    data: ['主办', '协办']
                },
                toolbox: {
                    show: true,
                    feature: {
                        dataView: { show: true, readOnly: false },
                        magicType: { show: true, type: ['line', 'bar'] },
                        restore: { show: true },
                        saveAsImage: { show: true }
                    }
                },
                calculable: true,
                //X轴上柱子的数据
                xAxis: [
                    {
                        type: 'category',
                        // prettier-ignore
                        // data: ['园林局', '税务局', '地震局']
                        data: []
                    }
                ],
                yAxis: [
                    {
                        type: 'value'
                    }
                ],
                series: [
                    {
                        name: '主办',
                        type: 'bar',
                        data: [

                        ],
                        //在柱子顶端展示数据的最大值最小值旗袍
                        markPoint: {
                            data: [
                                { type: 'max', name: 'Max' },
                                { type: 'min', name: 'Min' }
                            ]
                        },
                        //展示数据平均值线
                        markLine: {
                            data: [{ type: 'average', name: 'Avg' }]
                        },
                        //用于在每根柱子上展示数据
                        // label: {
						// 		show: true,
						// 		position: 'inside',
						// 		color:'black'
						// 	},
                    },
                    {
                        name: '协办',
                        type: 'bar',
                        data: [

                        ],
                        markPoint: {
                            data: [
                                { type: 'max', name: 'Max' },
                                { type: 'min', name: 'Min' }
                            ]
                        },
                        markLine: {
                            data: [{ type: 'average', name: 'Avg' }]
                        },
                        // label: {
						// 		show: true,
						// 		position: 'inside',
						// 		color:'black'
						// 	},
                    },
                    
                ]
            };
			//注意,必须用这种语法来传递数据
            option.xAxis[0].data = deptArr;
            option.series[0].data = hostArr;
            option.series[1].data = helpArr;
            option && myChart.setOption(option);
        }
   }

2.调用方法

如图所示,可以在从后端获取到数据后调用
在这里插入图片描述

3.图表展示

只需要新建div,给div的id命名为main即可

<div id="main" style="width: 100%;height: 340px;"></div>

4.注意事项

数据不能直接用this.语法传递到生成柱形图的方法中
必须用

//option.数据要存放的位置=外部传入的数据
option.xAxis[0].data = deptArr;
option.series[0].data = hostArr;
option.series[1].data = helpArr;
option && myChart.setOption(option);
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VueElementUIEcharts 是三个非常常用的前端开发框架,它们可以很好地配合使用以创建可视化大屏。 首先,Vue 是一个用于构建交互式的用户界面的渐进式框架。它提供了一系列的工具和组件,可以让开发者更加便捷地开发单页面应用。Vue 的优点在于其轻量级和易学性,同时它还提供了更好的模块化和数据驱动的开发方式。 其次,ElementUI 是一个基于Vue的组件库,其中包含了常用的UI组件。它提供了丰富的组件和模板,可以与Vue框架无缝集成,极大地提高了开发效率。ElementUI 提供了美观的界面设计,使得可视化大屏的展示效果更加专业和美观。 最后,Echarts 是一个强大的数据可视化库,支持多种图表类型和交互方式。VueEcharts之间的集成非常方便,可以通过Vue的指令或者组件方式调用Echarts的API,实现各种图表的展示Echarts 提供了丰富的配置选项和事件响应机制,使得开发者可以灵活地定制和交互大屏。 结合VueElementUIEcharts,可以很轻松地实现可视化大屏的开发。首先,使用Vue进行单页面应用的开发,结合ElementUI的组件实现大屏的布局和样式。然后,使用Echarts的图表组件,根据需要绘制各种图表,展示数据的变化情况。通过VueEcharts的集成,可以将数据与图表进行绑定,实时更新图表的展示,提高用户的交互体验。 总之,使用VueElementUIEcharts可以轻松地开发可视化大屏,实现数据的可视化展示。这种组合可以提高开发效率和用户体验,同时还可以为用户呈现出更加美观和专业的界面设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值