All Projects → xuqiang521 → data-visualization

xuqiang521 / data-visualization

Licence: other
🔗 configurable data visualization

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to data-visualization

JimuReport
「低代码可视化报表」类似excel操作风格,在线拖拽完成设计!功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,完全免费!秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、解决各类报表难题。
Stars: ✭ 2,895 (+15983.33%)
Mutual labels:  highcharts, echarts
Jimureport
积木报表,是一款免费的企业级低代码报表!类似于excel操作风格,在线拖拽完成报表设计!功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,永久免费!领先的企业级Web报表软件,采用纯Web在线技术,专注于解决企业报表快速制作难题。
Stars: ✭ 598 (+3222.22%)
Mutual labels:  highcharts, echarts
Lovinghome Real Estate Platform
⚡️基于springboot+MyBatis+FreeMarker+redis+nginx+Echarts+druid等技术的JavaWeb项目------恋家房产平台(采用B/S架构,项目包含前后台,分为前台展示系统及后台管理系统。前台系统包含首页门户、登录注册、房产推荐、房产详情、热门房产、房产及小区搜索、经纪人列表及经纪机构创建、创建房产、房产百科、地图找房、用户个人中心、房产评论、房产打分等模块。 后台管理系统包含房产信息管理、用户管理、管理员管理、小区信息管理、博客管理、评论管理、经纪人管理、系统统计与多种图表展示、数据报表导入导出等模块。系统介绍及详细功能点、技术点见项目内文档描述)
Stars: ✭ 140 (+677.78%)
Mutual labels:  highcharts, echarts
ngx-echarts-starter
A starter demo project for ngx-echarts
Stars: ✭ 29 (+61.11%)
Mutual labels:  echarts
vue-echarts-map
Vue版本Echarts中国地图钻取
Stars: ✭ 113 (+527.78%)
Mutual labels:  echarts
echarts-china-map
echarts 中国地图版
Stars: ✭ 81 (+350%)
Mutual labels:  echarts
fishing-funds
基金,大盘,股票,虚拟货币状态栏显示小应用,基于Electron开发,支持MacOS,Windows,Linux客户端,数据源来自天天基金,蚂蚁基金,爱基金,腾讯证券,新浪基金等
Stars: ✭ 424 (+2255.56%)
Mutual labels:  echarts
ts-vue-questionnaire
微型问卷调查系统 TypeScript 版本,演示账号:admin / admin
Stars: ✭ 89 (+394.44%)
Mutual labels:  echarts
highcharts-webcomponent
Highcharts Web Component usable with any Framework
Stars: ✭ 21 (+16.67%)
Mutual labels:  highcharts
echarts-for-wechat-wepy
echarts微信小程序wepy版本封装
Stars: ✭ 29 (+61.11%)
Mutual labels:  echarts
aaocp
一个对用户行为日志进行分析的大数据项目
Stars: ✭ 53 (+194.44%)
Mutual labels:  echarts
GithubProfile
Visualizing GitHub profile
Stars: ✭ 45 (+150%)
Mutual labels:  echarts
GTD-Visualization
全球恐怖袭击数据可视化
Stars: ✭ 31 (+72.22%)
Mutual labels:  echarts
vue-admin-work
🎉🎉🚀🚀🚀🚀vue-admin-work是一个中后台系统管理方案。使用 vue2.x 及周边全家桶工具开发而来。支持多种功能,不同角色权限🚀🚀🚀🎉🎉
Stars: ✭ 74 (+311.11%)
Mutual labels:  echarts
k-line
股票、虚拟币交易k线图
Stars: ✭ 32 (+77.78%)
Mutual labels:  echarts
echarts-map-xicheng
Echarts实现北京市西城区各街道地图demo
Stars: ✭ 50 (+177.78%)
Mutual labels:  echarts
highcharts-themes-collection
Highcharts themes collection
Stars: ✭ 30 (+66.67%)
Mutual labels:  highcharts
grafana-echarts-panel
Grafana集成Echarts
Stars: ✭ 49 (+172.22%)
Mutual labels:  echarts
echarts-graph-modularity
Apache ECharts graph modularity extension for community detection
Stars: ✭ 62 (+244.44%)
Mutual labels:  echarts
ng-highcharts
Angular Directive for Highcharts
Stars: ✭ 12 (-33.33%)
Mutual labels:  highcharts

走进数据可视化及其配置

最终展示效果图

流程图


  • 可视化组件

  • 组件配置 —> 组件库

  • 可视化界面

  • 页面配置 —> 界面 —> 展示组件库

  • 组件配置栏 —> 微调组件 —> 填充界面 —> 产出最后的界面


组件公共样式渲染协议

// 公共样式
var _COMMON_ = {
    // 标题
    title : {
        x:'center',
        y:'top',
        textStyle:{
            fontSize:16,
            color: '#FFF'
        },
        subtextStyle:{
            fontSize:13
        }
    },
    // 图示
    legend: {
        show: true,
        orient: 'vertical',
        x: 'left',
        y: 'top',
        textStyle: {
            color: '#FFF',
            fontSize: 13
        },
    },
    // 提示框
    tooltip: {
        trigger: 'axis',
    }
}

私有属性渲染协议

// 饼图
{
    title : {
        text: '组件配置测试版本',
        subtext: '作者:强大大',
    },
    legend: {
        data: ['直接访问', '邮件营销', '联盟广告']
    },
    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: '联盟广告'
                },
            ]
        }
    ]
};

// 折线图
{
    tooltip: {
        show: true
    },
    title: {
        text: '折线图配置',
        subtext: '作者:强大大'
    },
    legend: {
       data: ['2015迁徙人数', '2016迁徙人数']
    },
    grid: {
        x: 56,
        y: 60,
        x2: 60,
        y2: 33,
    },
    xAxis: [{
        type: 'category',
        axisTick: {
            show: false
        },
        splitLine: false,
        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        axisLabel: {
            textStyle: {
                color: '#b4effe',
                fontSize: '10px',
                margin: "15px"
            }
        }
	}],
    yAxis: [{
        type: 'value',
        splitLine: false,
        axisLabel: {
            textStyle: {
                color: '#b4effe',
                fontSize: '10px',
                margin: "15px"
            }
        }
	}],

    series: [
        {
            name: '2015迁徙人数',
            type: 'line',
            data: [400, 600, 700, 1000, 1200, 1400, 1600, 1700, 1800, 1900, 2300, 2100]
    	},{
            name: '2016迁徙人数',
            type: 'line',
            data: [200, 400, 500, 900, 1000, 1200, 1300, 1400, 1500, 1600, 2000, 1800]
	   }
    ]
}

自我组件开发协议

// 文字数据集合卡片
option = {
    type: 'textCard',
    data: {
        headerlines: '静安区八号店',
        maintitle: [
            '小营业厅',
            '小小营业厅'
        ],
        subtitle: [
            'TX',
            'XTX'
        ],
        times:{
        	startTime : '09:00',
        	endTime : '18:00'
        }
    }
}
// 一级标题
option = {
	type: 'titleContent',
    common:'1',
	data: {
		title:'2016年8月20日区域三4G发展量',
		innerData:['Jason','Stencen','Steven']
	}
}
// 基本表格按钮
option = {
    type :'button',
    data: {
        name:'Hello',
        style:'btn-primary btn-lg'
    }
}

// 表格
option = {
  type :'table',
    data:{
        tableHead:['标题1','标题二','标题三','标题四'],
        buttonIndex:['0','1','2'],
        option:[
          ['Hello7','World0','Wellcom0','Js0'],
          ['Hello1','World1','Wellcom1','Js1'],
          ['Hello2','World2','Wellcom2','Js2'],
          ['Hello3','World3','Wellcom3','Js3']
        ]
    }  
}

主接口文件ec.js

var _MYCHART_ = _MYCHART_ || ""  // echarts绘图对象
  , _OPTIONS_ = _OPTIONS_ || {}; // 存储echarts数据全局对象
;(function($,doc,win){
var EC = function(obj,opt){
  this.obj = obj;
  this.setting = {
    echartObj: "",    // 绘图对象
    option   : null   // 绘图数据
  };
  $.extend(this.setting, opt);
  // 初始化
  this.init(this.setting);
};
EC.prototype = {
  echarts : function(opt){
    var self = this;
    // 环境依赖
    require.config({
      paths:{
        'echarts' : './js/echarts/echarts'
      }
    });
    require([
      'echarts'
    ],function(ec) {
      _MYCHART_ = ec.init(document.getElementById(opt.echartObj));
      _MYCHART_.setOption(opt.option);
    });
  }
};
EC.prototype.init = function(opt){
  this.echarts(opt);
}
window.EC = EC;
})(jQuery,document,window);

调用方式

new EC($('#echartController'), {
  echartObj: objID,
  option: option
});

关于公共样式的适配实现

var title   = option.title   || {}
  , legend  = option.legend  || {}
  , tooltip = option.tooltip || {};

$.extend(title, _COMMON_.title);
$.extend(legend, _COMMON_.legend);
$.extend(tooltip, _COMMON_.tooltip);

option.title = title;
option.legend = legend;
option.tooltip = tooltip;

关于组件拖拽的判定加载 (详情参考dragEcharts.js)

// 定义全局对象params 做一个状态判定
var params = {
  left: 0,        // 左偏移值,默认为0
  top: 0,         // 右偏移值,默认为0
  currentX: 0,    // 当前X轴坐标,默认为0
  currentY: 0,    // 当前Y轴坐标,默认为0
  flag: false     // 是否可拖拽,默认为false
};

// 组件加载的判定实现
var flag = false;
for (var i=0; i<$(el).length; i++){
  if ($(el).eq(i).find(el).length>0){
    continue;
  }
  var zoom  = $('#echartController').css('zoom')
    , left  = $obj.eq(i).offset().left * zoom
    , top   = $obj.eq(i).offset().top * zoom
    , scroT = $(document).scrollTop()
    , zoomW = $obj.eq(i).width() * zoom
    , zoomH = $obj.eq(i).height() * zoom;

  if (d>left && d<left+zoomW && c+scroT>top && c+scroT<top+zoomH) {
    flag = true;
    $(el).removeClass('add-active');
    $(el).eq(i).addClass('add-active');
  } else if (!flag && params.flag){
    $(el).removeClass('add-active');
  }
  objID = $(el+'.add-active').attr('id');
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].