在vue中怎么使用echarts

作者: 殖民_FE | 来源:发表于2017-06-06 08:53 被阅读746次

    现在很多的项目,对数据可视化看的越来越重要,数据可视化可以多维度的分析数据,一目了然;对项目的美观和简洁度都有不少的提升,比原来那种表格化的数据格式要好很多了!
    对这种问题,echarts解决了这样的问题,这里介绍一下 在vue怎么使用echarts!
    同样,使用的vue-cli环境!
    首先,通过npm安装ECharts和zrender,命令行:

    npm install echarts --save 
    npm install zrender --save ;
    

    html:

    <template>
      <div class="charts">
           <h3>vue2.0中使用echart</h3>
            <div id="main" style=" width:100%; height:350px;"></div>  //这里的高度一定要的,不然是不会显示图标的  
      </div>
    </template>
    
    

    js部分:

    <script>
    import echarts from 'echarts';   //这里是你必须的,千万不能忘记!
      export default {  
          data() {  
                return {  
                    // 初始化空对象  
                    chart: null,  
                    // 初始化图表配置  
                    opinion: ['A', 'B', 'C', 'D', 'E'],  
                    opinionData: [{  
                        value: 26,  
                        name: 'A'  
                    }, {  
                        value: 31,  
                        name: 'B'  
                    }, {  
                        value: 18,  
                        name: 'C'  
                    }, {  
                        value: 28,  
                        name: 'D' 
                    }, {  
                        value: 21,  
                        name: 'E'  
                    }]  
                }  
            },  
            methods: {  
                // 绘图  
                drawGraph(id) {  
                    // 绘图方法  
                    this.chart = echarts.init(document.getElementById(id))  
                        // 皮肤添加同一般使用方式  
                    this.chart.showLoading();  
                        // 返回到data中  
                    var that = this  
                    // ajax 请求数据  
                    // $.ajax({  
                    //         // 方式  
                    //         type: "GET",  
                    //         // 是否异步  
                    //         async: true,  
                    //         // 路径||API  
                    //         url: "xxx",  
                    //         //返回数据形式为json  
                    //         dataType: "json",  
                    //         // 加载成功  
                    //         success: function(result) {  
                    //             // 更新初始数据  
                    //             that.opinionData = result  
                    //         },  
                    //         // 加载错误  
                    //         error: function(errorMsg) {  
                    //             // alert("请求数据失败!");  
                    //             console.log(errorMsg)  
                    //         }  
                    //     })  
                   // set  
                    this.chart.setOption({  
                        title: {  
                            text: '此处为标题',  
                            subtext: '副标题',  
                            x: 'center'  
                        },  
                        tooltip: {  
                            trigger: 'item',  
                            formatter: "{a} <br/>{b} : {c} ({d}%)"  
                        },  
                        legend: {  
                            x: 'center',  
                            y: 'bottom',  
                            data: this.opinion // this  
                        },  
                        toolbox: {  
                            show: true,  
                            feature: {  
                                mark: {  
                                    show: true  
                                },  
                                dataView: {  
                                    show: true,  
                                    readOnly: false  
                                },  
                                magicType: {  
                                    show: true,  
                                    type: ['pie']  
                                },  
                                restore: {  
                                    show: true  
                                },  
                                saveAsImage: {  
                                    show: true  
                                }  
                            }  
                        },  
                        calculable: true,  
                        series: [{  
                            name: '种类',  
                            type: 'pie',  
                            // 内圆半径,外圆半径  
                            radius: [30, 100],  
                            // 位置,左右,上下  
                            center: ['50%', '50%'],  
                            roseType: 'area',  
                            data: this.opinionData, // this  
                        }]  
                    })  
                    this.chart.hideLoading()  
                }  
            },  
            mounted() {  
                this.$nextTick(function() {  
                    this.drawGraph('main')  
                })  
            }  
    }  
    </script>
    
    

    效果如下图:


    相关文章

      网友评论

        本文标题:在vue中怎么使用echarts

        本文链接:https://www.haomeiwen.com/subject/ngcgfxtx.html