flex画拓扑

FVT

基本的图表到复杂的交互图形和拓扑,提供数据管理、可是编码、动画、交互

 

Analytics:operators,为了计算和统计data

Animate:创建动画的工具

Data:存储数据的模型

Display:继承flash.display

Flex:包装类,可以作为flex组件

Physics:物理效果和力导引布局

Query:query processor

Scale:

Util:常用功能

Vis:可视化工具和operators

 

应用步骤:

首先,用Data和dataset定义数据关系和结构

2、用sprite可视化每个数据元素

用renderer来渲染

用layout来组织拓扑

用operator来操纵每一个元素

用transitioner来可视化变化

用control允许用户与元素交互

用visualization作为所有元素的容器

 

数据可视化:用DataSprite来展示每个数据,datasprite有个data属性,包括了要展示的元素。Data也可以管理数据,而且他的nodes edges属性可以返回data中包含的nodes edges内容。Nodes edges都有visit方法,还有setproperty setproperties方法。这俩方法接受transitioner作为参数。

 

可视化组建继承了datasprite类,这个类中有color shape size等属性。Nodesprite edgesprite继承了datasprite用来表示点和边。

 

之后可以用实现了Irenderer的类作为渲染器,传递给nodes.setproperties方法来渲染。

 

Operators用来操作单个元素。比如layout

Operator可以:改变datasprite元素值;新建、添加、删除节点;用transitioner来完成效果

 

Transitioner用来动画显示变化。如果用transitioner.default则立刻变化,否则按照指定时间段变化。Transitioner有个有趣的操作符$,比如$(node).x

 

Visualization类用来表示一个可视化界面,首先要定义数据集,把数据集加入vis,定义operator来决定怎样显示数据元素。Vis.updata用来刷新可视化界面

 

Flare两点:可以创建并行/串行的显示效果

Consider the scenario where a visualization shows employees, managers, and departments in an indent-tree topology.

l         Visualization: Create a FlareVisualization subclass called “EmployeePerformances”.

  1. Layout: Create an Operator subclass call “PerformanceTreeLayout” to layout nodes and edges. Register with the Visualization list of operators
  2. Renderer Create an EmployeeRenderer class to render the NodeSprite UI for each employee. Register with the DataList as a node renderer
  3. Operator: Create a Operator subclass called “StarRatingOperator”; which will create, position, and initialize “performance rating” stars for each employee NodeSprite. Register with the Visualization
  4. Renderer: Create StarRatingRenderer class to render the “star” sprites; use with a Factory pattern to instantiate
  5. Control: Create a Control subclass called StarRatingToolTip which will show the details of an employee’s performance ratings in a custom tooltip. Register with the Visualization

 

 

 

ExpandControl用来展缩graph或tree。

Data.nodes.setProperty为DataList中的元素设置属性,比如长宽高、renderer

_filter      _group
filter
:* (default = null) — a Boolean-valued filter function indicating which items should trigger hover processing

由Array构建数据集Data:

 

对数据集整形:

 

VisibilityFilter用来控制元素的显示与否

 

Visualization也是继承Sprite的~

_vis.data.nodes是个DATALIST,其中的元素类型都是NODESPRITE

_vis.data是个DATALIST,其中元素师NODESPRITE或egedsprite

 

 

对data的操作:创建data、为DataList设置属性(长宽高renderer)、sort、加入一个vis

 

Vis做的事情:添加operator(Layout、PropertyEncoder);添加control(HoverControl、ExpandControl或DragControl)

换时做的事情:清除Operators;添加operator(Layout、PropertyEncoder);改变HoverControl策略,清除 ExpandControl或DragControl,添加ExpandControl或DragControl

 

 

 

 

Own:

1、创建data

2、创建vis;添加control(TooltipCtrl、HoverContrl、ExpandContrl);添加operator(Layout);给data setProperties(长宽高renderer)

3、vis.update;vis加入面板

4、创建Button,并添加CLICK事件(改变vis的operator的Layout或者分类别显示)

5、为vis面板添加PanZoomControl

 

 

 

 

App:

1、创建data;Sort;设置Data的property

2、创建vis;分配operator(VisibilityFilter、Layout、Labeler、Encoder)

3、vis.update;vis加入当前面板

4、分配controls(HoverControl、ClickControl、TooltipControl)

5、为其他add Controls(创建title、创建searchBox并加入listener、创建genderLegend并attach一个HoverControl,一个ClickControl)

6、给vis title search gender设置位置

 

问题:

1、  位置怎么保存呢?不要保存了吧?成不?

2、  自定义的数据结构 去看NodeSprite EdgeSprite 组成的Data

3、  删除增加

 

Operator和control的区别是?

 

Control是在创建时就注册监听器,然后在事件处理里执行功能

Operator是在vis的update时执行operate()函数来执行功能

 

 

Data中nodes和edges的联系是通过label联系起来的。

g:Data; g.addEdgeFor(r,n);其中r n均为Data中的NodeSprite

要有r.data.label

 

 

 

转载于:https://www.cnblogs.com/avenxia/archive/2012/06/10/2544160.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix入门之添加监控项

zabbix入门之添加监控项 添加一个不带参数的监控项(system.cpu.switches) 进入“配置”-->“主机”选择某主机的“监控项” 选择创建监控项 键值后边的“选择”提供了大量的键值,带有[ ]的需要定义参数值,这里选择system.cpu.s…

[html] 网站如何自适应手机屏幕

[html] 网站如何自适应手机屏幕 一种是各种流式布局,另外就是简单粗暴,写两套,一套pc ,一套mobile ,根据设备标识来重定向不同的页面个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。…

scratch跳一跳游戏脚本_cocos creator制作微信小游戏「跳一跳」

一、游戏的分析(之前没有接触过小游戏,制作的思维还停留在大型ARPG游戏大家共同协作的想法里,但是小游戏讲究小而全,大部分时间是一个人独立开发,所以需要迫使自己养成看到小游戏先拆分细化的思想)二、一些必要的参数台阶参数1: 设…

中boxplot函数的参数设置_如何在Python中生成图形和图表

在本章中,我们将学习如何在Python中生成图形和图表,同时将使用函数和面向对象的方法来可视化数据。Python中常用的一些可视化数据包括以下几种。Matplotlib。Seaborn。ggplot。Geoplotlib。Bokeh。Plotly。在本章中将使用Matplotlib可视化数据包。此外&a…

zabbix入门之监控MySQL

zabbix入门之监控MySQL 这里使用的是zabbix官方自带的MySQL监控模板。 首先确保在被监控主机安装zabbix-agent、zabbix-sender,并且将主机加入监控节点。具体操作请看zabbix添加主机:https://www.cnblogs.com/Smbands/p/11593593.html 修改zabbix自带的M…

[html] html中p标签内为何不能嵌套div标签?

[html] html中p标签内为何不能嵌套div标签? p 是行内 div 是块级个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

css清除浮动的几种方法_CSS 分享几种传统布局方法[上]

本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的。一.布局模型在早期没有平板和智能手机等移动设备大行其道的时期,Web 页面的设计主要是面向PC 端电脑分辨率展开的。这种分辨率比例比较单…

android刷新时的圆形动画_Android动画篇(一):圆形进度条CircleProgressBar

前言#最近看框架和源码比较多,很久没有写动画了,相信很多的朋友都对动画感兴趣,我也不例外,毕竟做前端还是要靠动画特效吃饭的,并且比写功能模块更有成就感。今天我们就来个稍微简单一点的CircleProgressBar热个身。首…

python没有那个文件或目录_fatal error: Python.h: 没有那个文件或目录 解决方法

今天安装scrapy 先说下环境 Ubuntu16.04 系统默认Python 2.7.12 (default, Nov 19 2016, 06:48:10) ,安装过anaconda(很关键,里面有好多系统包,也是为什么此工具不十分依赖系统环境的原因,否则单独装matplotlib也是难弄…

1-7docke的网络模式

1、Bridge模式bridge 模式是 docker 的默认⽹络模式,不写 –net 参数,就是 bridge 模式。比如使⽤ docker run - p 时工作模式从网上找了一个,如下 例子: run -it -d --name test1 --netbridge centos:v1 bashrun -it -d --name t…

[html] HTML5的video怎么取消自动播放?

[html] HTML5的video怎么取消自动播放? 去掉 autoplay 属性个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

分页的limit_分页场景(limit,offset)为什么会慢

链接:http://t.cn/AidABz08从一个问题说起五年前在腾讯的时候,发现分页场景下,mysql请求速度非常慢。数据量只有10w的情况下,select xx from 单机大概2,3秒。我就问我师父为什么,他反问“索引场景,mysql中获…

[html] 隐藏div内文字的方法有哪些?

[html] 隐藏div内文字的方法有哪些? text-indent:-9999px; 或 line-height:0; font-size:0; overflow:hidden;个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端…

Android游戏开发基础part3--Paint 画笔

游戏开发基础part3--Paint 画笔 Paint画笔是绘图的辅助类,一般它是作为画布的参数来实现相应的效果,Paint类中包含文字与位图的样式、颜色等属性信息。Paint的常用方法如下: 1.setAntiAlias(boolean aa) 作用:设置画笔是否无锯齿 …

jvm 参数_6个提高性能的JVM参数

截止到2020年五月,JVM中仅仅只是关于垃圾回收和内存相关的参数就已经超过600个。如果算上其他方面的参数,JVM相关的总参数能轻松超过1000个。参数太多了,弄得人很懵逼。在这边文章中,我们只选取了7个比较重要,且有用的…

zabbix入门之定义触发器

zabbix入门之定义触发器 触发器的概念 触发器的定义:界定某特定的item 采集到数据的非合理区间或非合理状态。通常为逻辑表达式。 逻辑表达式(阈值):通常用于定义数据的不合理区间,其结果如下: O K (符合条件&#xff…

linux重启memcache_Linux中安装Memcached服务的方法

Linux中安装Memcached服务的方法导语:在Linux中安装Memcached服务需要执行一些命令行,下面就由小编为大家介绍一下Linux中安装Memcached服务的方法,大家一起去看看吧!下载并安装Memcache服务器端服务器端主要是安装memcache服务器…

[html] 说说页面中字体渲染规则是怎样的?会有哪些因素影响字体的渲染?

[html] 说说页面中字体渲染规则是怎样的?会有哪些因素影响字体的渲染? 字体渲染: 1.解码,根据web服务器返回的(或者本地网页本身的)content-type charset等信息确定编码,将网页解码成Unicode字…

mybatis字符串转成数字_Python字符串三种格式化输出

字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助。格式化输出:内容按照一定格式要求进行输出。1.使用占位符%输出python2.6版本之前,使用%格式化字符串沿用的是C语言的输出…

eclipse dorado plugin

http://lindows.iteye.com/blog/224004 下载中心 http://www.bstek.com/downloadcenter.htm dorado debug shutcut page time:CtrlShiftF12 bstekIDE Eclipse插件扩展点应用介绍 http://macrochen.iteye.com/blog/138625 BstekIDE_1.2.2_Installer.jar http://www.bstek.com/do…