美文网首页我爱编程
在Vue项目中实现数据可视化操作

在Vue项目中实现数据可视化操作

作者: 示十 | 来源:发表于2018-04-16 20:55 被阅读0次

            话说最近一直在攻在网上花二十块大洋买的vue音乐播放器项目,收获颇多!对vue项目整体的流程有了更进一步的了解,打算花点空余时间把这个项目再撸几遍,然后转入京东的项目实战中。。。

            实际工作中一直涉及的是数据可视化操作(Echarts、Highcharts),即大量数据图表展示,却独独没有用到丁点儿的vue知识,感觉实在是让人憋得心慌,晚上没事干脆试验一把,如题:在Vue项目中实现数据可视化操作

    Echarts  步骤:

    一、安装插件

            cnpm install echarts -D

    注:echarts 也不能通过 Vue.use() 进行全局调用

    所以,通常在需要使用图表的 .vue文件中直接引入

    import echarts from 'echarts'

    也可以在main.js中引入,然后修改原型链

    Vue.prototype.$echarts = echarts

    这样在全局中就可以直接使用了

    let mychart = this.$echarts.init(document.getElementById('mychart'))

    二、创建图表

            由于一般情况我们会在组件中使用,这里我也贴近实际开发,举的例子就是应用于组件中

    创建图表

    数据导入

    这样图表就可以在页面中展示出来了

    效果展示

    问题:这里引入的 echarts 包含了所有图表,但有时候我们只需要一两个基本图表,这时候完整的 echarts 就显得累赘,所以:

    二、按需引入

        // 引入基本模板letecharts = require('echarts/lib/echarts')

      // 引入饼图组件require('echarts/lib/chart/pie')

      // 引入提示框和图例组件require('echarts/lib/component/tooltip')

      require('echarts/lib/component/legend')

    可以按需引入的模块列表见https://github.com/ecomfe/echarts/blob/master/index.js

    继续引出问题:在echarts中图表宽高如果不写,那么就相当于作死,所以nozuonodie,所以:

    三、适应容器

    let chartBox = document.getElementsByClassName('charts')[0]

    let myChart = document.getElementById('myChart')

    // 用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽

    function resizeCharts () {

      myChart.style.width = chartBox.style.width + 'px'

      myChart.style.height = chartBox.style.height + 'px'

    }

    // 设置容器高宽

    resizeCharts()

    let mainChart = echarts.init(myChart)

    mainChart.setOption(options)

    四、扩展

    可以把这个案例模块化,设计成一个可复用组件,只需传入id、options既可完成图表渲染

    参考案例:https://www.2cto.com/kf/201707/660054.html

    刚好,参考案例中用的是highcharts

    相关文章

      网友评论

        本文标题:在Vue项目中实现数据可视化操作

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