zoukankan      html  css  js  c++  java
  • Vue中使用ECharts图表展示数据

    使用图表展示数据,可以让数据看起来更加的直观,通过饼图或者直方图折线,能展示出数据的趋势,这篇文章简单的介绍了如何在自己的项目中集成使用Echarts图表提供工具。

    官方地址站点 https://echarts.apache.org/

    在Vue里使用图标工具也是很简单,只需要引入js文件就可以了,由于网络引入不是很稳定,我们这里是需要下载得到本地的,官方给的有可以把图表打包到js文件里的方法

    在线集成地址 https://echarts.apache.org/zh/builder.html

    我们需要注意,引入的时候,按需引入不会使程序显的臃肿(图表下显示的英文就是按需引入需要用到的别名)

    例如我们在后面跟上 pie就是饼图,bar就是柱状图,其他的就不一一列举

    import pie from 'echarts/lib/chart/pie'; // 引入饼图组件
    import line from 'echarts/lib/chart/bar'; // 引入柱状图组件

    开始引入

    首先,在Vue里安装工具

    一篇不错的收藏的文章demo
    http://note.youdao.com/s/AW93X60H

    npm install echarts
    

    在页面中使用图表信息

    <!--平台统计部分-->
    <template>
                    <!--统计表部分信息-->
                    <div class="echarts-demo">
                        <!-- [1] 为 ECharts 准备一个具备大小 (宽高) 的 DOM -->
                        <div id="chart" ref="chart" style="display: inline-block;  550px; height: 550px"></div>
                        <div id="lineChart" ref="lineChart" style="display: inline-block;    550px; height: 550px"></div>
                    </div>
    
    </template>
    
    <script>
        import {getPlateTotalInfo} from "@/api/page"
        import echarts from 'echarts'; // 方便, 但是也同时引入了很多不需要的组件
        import pie from 'echarts/lib/chart/pie';   // 引入柱状图组件
        import line from 'echarts/lib/chart/bar';   // 引入柱状图组件
        export default {
            name: "platformtotal",
            data(){
                return{
                    value1: '',
                    value2: '',
                    oneValue:"",
                    twoValue:"",
                    threeValue:"",
                    fourValue:"",
                    listQuery:{},
                }
            },
            created(){
                this.getList();
            },
            methods:{
    //获取数据
                getList(){  
                    getPlateTotalInfo().then(res=>{
                            if(res.data.result){
                            this.oneValue = res.data.listVo.newPeople;
                             this.twoValue = res.data.listVo.newPayPeople;
                            this.threeValue = res.data.listVo.totalMoney;
                            this.fourValue = res.data.listVo.sendSellerMoney;
    
                            this.chart = echarts.init(this.$refs.chart);
                            // [4] 设置 Echarts饼图的图表数据
                            this.chart.setOption({
                                title: {
                                    text: '平台统计信息',
                                    subtext: '平台统计信息',
                                    x:'center'
                                },
                                tooltip: {
                                    trigger: 'item',
                                    formatter: "{a} <br/>{b} : {c} ({d}%)"
                                },
                                toolbox: {
                                    show : true,
                                    feature : {
                                        mark : {show: true},
                                        dataView : {show: true, readOnly: false},
                                        magicType : {
                                            show: true,
                                            type: ['pie', 'funnel'],
                                            option: {
                                                funnel: {
                                                    x: '25%',
                                                     '50%',
                                                    funnelAlign: 'left',
                                                    max: 1548
                                                }
                                            }
                                        },
                                        restore : {show: true},
                                        saveAsImage : {show: true}
                                    }
                                },
                                calculable : true,
                                legend: {
                                    orient : 'vertical',
                                    x : 'left',
                                    data:['新增用户','新增付款人数','托管金额','给卖家金额']
                                },
                                series: [{
                                    name: '信息类别',
                                    type: 'pie',    // 设置图表类型为饼图
                                    radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                                    hoverAnimation:true, // 是否开启 hover 在扇区上的放大动画效果
                                    center: ['50%', '60%'],
                                    data:[          // 数据数组,name 为数据项名称,value 为数据项值
                                        {value:this.oneValue, name:'新增用户'},
                                        {value:this.twoValue, name:'新增付款人数'},
                                        {value:this.threeValue, name:'托管金额'},
                                        {value:this.fourValue, name:'给卖家金额'},
                                    ],
                                    // roseType: 'angle',
                                    legend: {
                                    orient : 'vertical',
                                    x : 'left',
                                        data: ['新增用户','新增付款人数','托管金额','给卖家金额']
                                    },
                                }]
                            });
                                // [4] 设置 Echarts 柱状图图表数据 lineChart
                                this.lineChart = echarts.init(this.$refs.lineChart);
                                this.lineChart.setOption({
                                    title: {
                                        text: '平台统计信息'
                                    },
                                    tooltip: {},
                                    xAxis: {
                                        data: ['新增用户', '新增付款人数', '托管金额', '给卖家金额' ]
                                    },
                                    yAxis: {
                                        type: 'value'
                                    },
                                    series: [{
                                        name: '销量',
                                        type: 'bar',
                                        showBackground: true,
                                        backgroundStyle: {
                                            color: 'rgba(220, 220, 220, 0.8)'
                                        },
                                        data: [  this.oneValue, this.twoValue , this.threeValue , this.fourValue ]
                                    }]
                                });
                        }
                    })
                },
               
            }
        }
    </script>
    
    

    实现显示效果,饼图可以查看数据,导出作为png图片,右侧预览信息等

    关于实例,官方给的有demo,里面包含了详细的代码实现

    demo网址 https://echarts.apache.org/examples/zh/index.html#chart-type-pie

    预览格式,我们可以根据需要,直接将相应的图表代码信息引入到自己的项目页面里来

    上文demo里引用了接口数据,这里给出一个没有使用接口的数据demo

    <template>
    <div class="echarts-demo">
        <!-- [1] 为 ECharts 准备一个具备大小 (宽高) 的 DOM 标签-->
        <div id="chart" ref="chart" style=" 300px; height: 300px"></div>
    </div>
    </template>
    
    <script>
    // [2] 引入 echarts
    // 全部引入
    import echarts from 'echarts';
    
    // 按需引入
    // import echarts from 'echarts/lib/echarts'; // 引入基本模板
    // import bar from 'echarts/lib/chart/bar';   // 引入柱状图组件
    
    export default {
        data() {
            return {
                chart: null,
            };
        },
        mounted() {
            // [3] 基于准备好的 DOM,初始化 Echarts 实例
            // 使用 ref 访问 DOM, 也可以使用 document.getElementById('chart')
            this.chart = echarts.init(this.$refs.chart);
    
            // [4] 设置 Echarts 图表数据
            this.chart.setOption({
    //设置标题
                title: {
                    text: 'ECharts 入门示例'
                },
                tooltip: {},
    //设置x轴的内容
                xAxis: {
                    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
                },
    //设置y轴的内容
                yAxis: {},
    //设置数据信息
                series: [{
                    name: '销量',
                    type: 'bar',
                    data: [5, 20, 36, 10, 10, 20]
                }]
            });
        }
    };
    </script>
    
    

    如有疑问,或有错误的地方,还请大家指正。

    分享是快乐的
  • 相关阅读:
    Java异常处理
    冒泡排序法
    21个项目-MNIST机器学习入门
    Hadoop集群搭建中ssh免密登录
    利用奇异值分解简化数据
    数据集中空值替换成对应特征的平均值
    PCA降维处理
    使用FP-growth算法高效发现频繁项集
    原生js---ajax---post方法传数据
    原生js---ajax---get方法传数据
  • 原文地址:https://www.cnblogs.com/nanstar/p/14028124.html
Copyright © 2011-2022 走看看