一入前端深似海,从此红尘是路人系列第六弹之走进数据可视化

简介: 先上几张关于单个组件配置及页面承载组件的展示效果图吧:

一、开发模式

先上几张关于单个组件配置及页面承载组件的展示效果图吧:
213513_eQl4_2912341.png
223535_jMYG_2912341.png
152524_qRhv_2912341.png
153056_qMzC_2912341.png

由于整体的开发模式是由MVC模式为主进行的开发,所以先简单给小伙伴们介绍一下MVC模式吧

MVC 模式的英文名称是 Model-View-Controller pattern,顾名思义,其主要部分为:
•模型(Model),整个模式中的数据层;
•视图(View),模式中的数据展示层;
•控制器(Controller),处理并响应事件,监控模型变化,继而修改视图。

接下来我将以一个双饼图组件为例子,带着小伙伴们一起走进主流的数据可视化开发。

二、开发核心

1、组件接口封装


var _MYCHART_;  // 全局echart绘图对象
;(function($,doc,win){
var EC = function(obj,config){
  this.obj = obj;
  this.setting = {};
  $.extend(this.setting,config);
  // 初始化
  this.init(this.setting);
};
EC.prototype = {
  echarts : function(options){
    // 环境依赖配置
    require.config({
      paths:{ 
        'echarts' : './js/echarts'
      }
    });
    require([
      'echarts'
    ],function(ec) {
      _MYCHART_ = ec.init(document.getElementById(options.echartObj));
      _MYCHART_.setOption(options.option);
    }); 
  }
};
EC.prototype.init = function(options){
  this.echarts(options);
}
window.EC = EC;
})(jQuery,document,window);

2、数据层的抽离

大家知道echarts或者用过的,都应该知道下面这个代码是echarts对可视化组件做的一个数据层的抽离控制


var option = {
  title : {
    text: '组件配置',
    subtext: '作者:qiangdada',
    x:'center',
    y:0,
    textStyle:{
      fontSize:16,
      show:false
    },
    subtextStyle:{
      fontSize:13
    }
  },
  tooltip: {
    trigger: 'item',
    formatter: "{a} <br/>{b} : {c} ({d}%)"
  },
  legend: {
    show: true,
    orient: 'vertical',
    x: 10,
    y: 0,
    data: ['直接访问', '邮件营销', '联盟广告'],
    textStyle: {
      color: 'auto',
      fontSize: 13
    },
  },
  series: [
    {
      name: '访问来源',
      type: 'pie',
      center: ['50%', '50%'],
      radius: ['30%', '45%'],
      itemStyle: {
        normal: {
          label: {
            formatter: "{b}" + " : " + "{c} ( {d}% )",
          },
          labelLine: {
            show: true
          }
        }
      },
      data: [
        {
          value: 335,
          name: '直接访问'
        },
        {
          value: 310,
          name: '邮件营销'
        },
        {
          value: 234,
          name: '联盟广告'
        }
      ]
    }
  ]
}

3、可视化组件的展示

这里很简单,只需要简单的new一个EC对象就可以进行展示了


new EC($('body'),{
  echartObj:'echarts', // 组件绘图对象
  option:option   // 组件绘图数据
});

三、组件的展示

这里只需要页面中有一个拥有宽高的盒子便可以承载echarts组件,从而进行展示,这里为了方便我就先把样式写在标签吧。


<div id="echarts" style="width: 500px;height: 400px;"></div>

这3步走完正常的页面展示如下:221726_pfwg_2912341.png
没错,组件已经可以展示了。接下来的配置展示步骤,包括代码都比较繁琐。这里我就不详细说明了,到时候我会将这个demo托管github,个人github地址为https://github.com/xuqiang521。大家可以关注一下我博客或者我github,到时托管代码上去后我也会再写一些博客对其配置做一个详细的讲解。

最后,如果小伙伴们喜欢的话,请推荐支持一把,也给我一点后期写作一点动力。

原文发布时间为:2016年10月16日
原文作者:qiangdada 

本文来源:开源中国 如需转载请联系原作者

目录
相关文章
|
6月前
|
数据可视化 前端开发 JavaScript
前端之【数据可视化】
前端之【数据可视化】
78 0
|
2月前
|
数据可视化 前端开发 数据挖掘
探索数据可视化在前端开发中的应用
本文将深入探讨数据可视化在前端开发中的重要性和应用场景,介绍常用的数据可视化工具和技术,并结合实际案例展示如何利用数据可视化提升用户体验和数据分析效率。
|
6月前
|
Web App开发 数据可视化 前端开发
前端数据可视化之【Echarts介绍】
前端数据可视化之【Echarts介绍】
96 0
|
Web App开发 数据可视化 前端开发
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
|
8月前
|
前端开发 数据可视化 JavaScript
使用Dash快速构建你的数据可视化前端
使用Dash快速构建你的数据可视化前端
296 0
|
8月前
|
监控 数据可视化 前端开发
前端数据可视化和动态图表库
前端数据可视化和动态图表库
209 0
|
8月前
|
数据可视化 前端开发 JavaScript
前端数据可视化的工具和库
前端数据可视化的工具和库
204 0
|
9月前
|
数据采集 数据可视化 前端开发
漏刻有时数据可视化大屏核心完整版框架PHP后台数据管理 API数据接口 Echarts图表库 自带电脑端和手机端两套模版且支持自定义前端模版开发
漏刻有时数据可视化大屏核心完整版框架PHP后台数据管理 API数据接口 Echarts图表库 自带电脑端和手机端两套模版且支持自定义前端模版开发
161 0
|
9月前
|
前端开发 数据可视化
漏刻有时LOCKDATAV数据可视化大屏Echarts前端UI手机移动版模版
漏刻有时LOCKDATAV数据可视化大屏Echarts前端UI手机移动版模版
57 0
|
9月前
|
前端开发 数据可视化 JavaScript
漏刻有时数据可视化大屏核心框架模版更换前端模版操作(2)API开发及数据调用
漏刻有时数据可视化大屏核心框架模版更换前端模版操作(2)API开发及数据调用
65 0