数据可视化-gojs插件使用技巧总结

随着云计算时代的到来,由于Web技术的快速革新以及为了提供高质量的用户体验,数据可视化成为了前端技术发展的一大方向。为了解决这个问题,现如今涌现了很多优秀的第三方的javascript图形库,比如highcharts.js,echarts.js,d3.js,go.js…

数据可视化javascript插件对比

在HTML5标准支持下,web实现图形标准主要分为canvas和svg,上述的javascript图形库都是依赖2者之一作为底层库。Canvas基于像素,提供2D绘制函数,是一种HTML标签,依赖于HTML,只能通过javascript 绘制图形;SVG为矢量,提供一系列图形元素、动画、事件机制,既可以独立使用,也可以嵌入HTML中使用。 图形库的封装程度也有区分,像highchart.js,echart.js属于过度封装,只暴露了数据模型接口,作为开发者很难修改内部API实现,不利于企业实现定制化需求,而像d3.js,go.js更多的是对图表的节点、连线及工具的封装,并预留了接口便于开发者进行定制化开发。另外,图形库的商业版权也各尽不同,像highchart.js,go.js都是要收费的,而echart.js,d3.js则是免费开源的。

gojs简介及特点

gojs是一款基于canvas的图形库,是由Northwoods公司开发的商用javascript插件,可以基于项目的不同需求实现具有交互性的各类图表,比如流程图,树图,关系图,力导图等等。gojs采用面向对象思想,以图形对象表示绘图单元,JSON对象作为数据模型,图形对象通过属性绑定的方式从数据模型获取相关的属性值。

 
图形对象与数据模型关系图

gojs数据模型

gojs的数据模型以是否为树图分为GraphLinksModel和TreeModel两种JSON对象,GraphLinksModel包含nodeDataArray和linkDataArray属性,而TreeModel只包含nodeDataArray属性。

gojs绘图单元

gojs的绘图单元很好理解,比如图中一个节点,一条线都可以理解成一个绘图单元,gojs通过不同的绘图模板实现不同的绘图单元,比如node,group,line…另外,gojs通过模板地图的方式管理不同样式的相同类型的绘图单元。

gojs图表实践

gojs绘图流程包括创建图形对象,构建数据模型,设置图形对象属性,绑定数据模型,添加交互行为。 
 
gojs创建流程图1、创建图形对象可以把$理解成一个画笔,而myDiagram理解成画布。

var $ = go.GraphObject.make;

画图时,通过$调用gojs自身的属性和方法 , 完成节点和连线的绘制,attrs为图形对象属性。

var myDiagram = $( go.Diagram, "dom_id" , {attrs});
myDiagram.nodeTemplate = $( go.Node, "Auto", {attrs});
myDiagram.linkTemplate = $( go.link, {attrs});

2、构建数据模型 
数据模型分为2种,下面以图形连线模型为例,它包括nodeDataArray和linkDataArray:

var dataModel = $(go.GraphLinksModel);
dataModel.nodeDataArray = [{},{}];
dataModel.linkDataArray = [{},{}];
myDiagram.model = dataModel;

3、图形对象属性绑定 
举例说明,比如将图形对象的边框宽度strokeWidth和数据模型的宽度Width进行绑定:

new go.binding("strokeWidth","width");

4、添加交互行为 
举例说明,比如为node添加鼠标事件,通过给其属性添加相应方法进行事件绑定:

{mouseEnter:onNodeMouseEnter}
...
function onNodeMouseEnter(){
   //do something
}

5、本地调试 
建议安装Node.js,完成后安装http-server:

npm install http-server

然后在项目主目录启动本地Web服务: 

gojs学习与思考

目前,官方网站是学习gojs的最佳选择。学习路径:learn->introduction->samples->api

元数据地图实践 
gojs不足之处在于对于css动画支持不够,商用版权导致开发成本增加。优势在于canvas库封装较好,提供丰富的交互事件,能够满足实际项目的个性化需求。在项目使用中,对于常见图表,项目实际使用echartjs作为替代选择,对于定制化需求则采用gojs实现。

时间: 2024-12-25 07:49:27

数据可视化-gojs插件使用技巧总结的相关文章

遇见大数据可视化:基础研究

近日星巴克与微信推出的社交礼品功能"用星说",可以说刷遍了朋友圈.无论你爱不爱喝咖啡,星巴克似乎都成为了一种文化象征.上班族青睐,小清新喜欢,基本上大家看到绿色的人鱼标志就能马上认出它来. 虽然一直也有喝咖啡的习惯,但至今不知道星巴克菜单版上列的[摩卡].[拿铁].[美式].[卡布奇诺]等等有什么区别.直到看到下列图,才很直观的了解到每个咖啡类别的区别是什么. 类似上图示,针对内容复制,难以形象表达的信息,通过图形简单清晰地向受众呈现出来,这种图称之为信息图. 信息图 信息图本身是一个

数据可视化 Tableau Echarts Illustrator

学最有用的 第一章 : 导论 1-1 数据可视化应用及学习技巧 数据可视化作用: 1.信息记录(使用图形化的数据记录信息) 2.抽象 现实的一种抽象 3.展示隐含模式 4.传播思想 为什么: 1.信息可视化 2.清晰直观 视觉基因 第二章 : 数据可视化思想 2-1 可视化表达背景与趋势 和第一节内容一样 2-2 视觉感知与视觉通道 视觉编码描述的是将数据映射到最终可视化结果上 第三章 : Tableau可视化分析与表达 3-1 tableau安装及使用 tableau类似于exec表格化的操作

前端数据可视化插件(一)图表

摘要: 在大数据时代,很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,开发人员很多时候需要使用图表来表现一些数据.随着Web技术的发展,从传统只能依靠于flash.IE的vml,各个浏览器尚不统一的svg,到如今规范统一的canvas.svg为代表的html5技术,表现点.线.面要素的技术已经越来越规范成熟.我把前端数据可视化分为了五种: 图表 图谱 地图 关系图 立体图 我将按照顺序介绍64款前端可视化插件,下面就分享下34款图表插件 amchartsurl: http

gojs插件干货:重要概念介绍,数据绑定式,以及怎样去除自带水印方法

gojs插件 是一个前端插件,跟go和js没有半毛钱关系 主要可以通过代码动态的生成和修改图表数据(组织架构图,执行流程图等等) 网址:https://gojs.net/latest/index.html 如果你想使用,需要下载他的文件 目前需要我们了解的文件其实只有三个,用得到的只有两个 """ 1.go.js 是使用gojs所必须要导入的js文件 2.go-debug.js 可以帮你打印一些bug日志 正常线上不会使用 3.Figures.js go.js中自带了一些基本

39个大数据可视化工具

无论是在行政演示中为数据点创建一个可视化进程,还是用可视化概念来细分客户,数据可视化都显得尤为重要.本文将推荐39个可用于处理大数据的可视化工具. <img class="size-full wp-image-407608 aligncenter" src="http://image.woshipm.com/wp-files/2016/09/dashuju-1.png" alt="dashuju-1" width="

如何选择正确的数据可视化图表?

伴随着大数据时代的到来,数据可视化已然成为一个热门的话题.数据可视化,可以增强数据的呈现效果,方便用户以更加直观的方式观察数据,进而发现数据中隐藏的信息.数据可视化应用领域十分广泛也催生了大量数据库软件的产生,进入当前由JavaScript和SVG(可缩放矢量图形)主导的数据可视化时代.高质量的可视化工具对于数据分析至关重要.目前市面上出现了几十种数据库,选择合适的数据库软件能让你的工作事半功倍.今天小编主要介绍三大JavaScript图表解决方案AnyChart.Highcharts以及Fus

ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化

ECharts 下载js代码 工作原理浅析 在项目中引入ECharts 后台处理 数据库端MySQL PHP端 JQuery Ajax处理 ECharts 端处理 前端全部代码 演示结果 总结 最近要将后台数据库上的一些数据以可视化的方法显示到前端,找来找去,发现百度开发的这套图表工具库还不错,网上搜索了一下相关的教程,也算是实现了较为简单的demo.于是写下来,记录一下. ECharts ECharts是国人开发的一套前端的图表工具库,使用起来超方便,也很简单(当然了,前提是理解了其工作原理之

企业如何开展数据可视化建设

有关数据,我们知道,不加以处理运用就会沉淀在系统中,很难成为信息.信息如果得不到利用,就不能成为资源. 在市场竞争激烈.变数不定的大环境下,越来越多的企业意识到信息资源的重要性.信息,无论是来自企业内部还是市场外部,都能帮助企业在现有资源上提高运营效率,分析挖掘辅助决策的策略,做出符合行情的战略规划. 关于企业的数据可视化建设,这里分享一个大连华锐重工的案例,原文是大连华锐重工企业管理部副部长毕建林在帆软大数据可视化分析案例巡展上的演讲. 系统独立,数据利用率低 华锐重工从2001年进行信息化建

CSDN开源夏令营 百度数据可视化实践 ECharts(6) 期中总结

期中总结 (1)首先感谢林峰老师的辛勤指导!! 通过半个多月的培训,林峰老师讲解了ECharts总体框架和其中各个部分:图类.组件.接口.基础库的具有应用方法和应该把握的细节,并通过实际的例子熟悉和掌握各个控件.只有打牢基础才能正正的为下步的工作做好准备,熟练的属性代码的编程技巧,才能做出更好的专题. (2)第一次任务重点总结: 要求:了解ECharts特性中列举的每一项特性,并能找到实例中的例子,并且在实例中操作. 重点问题: 1)ECharts一种支持多少种图表?有多少个组件?列举出中英文名