Birdeye — Flex Component
最近一直在使用Flex技术展示数据关系。使用的是Flex开源组件Birdeye中的关系型图表(Ravis),制作graph visualization。
在使用过程中逐渐了解了Flex,这是一种使用编程的形式来制作一些动画效果的方法。比较适合我这种对flash构图能力有限,但能写写代码的用户。
因为Birdeye是开源的,可以修改源代码满足应用需求的需要。使用过程中总结出一下几点:
1. 中文支持
源代码中的例子中,默认情况下输入中文是不显示的。原因是Ravis的例子中的内嵌了字体库MyriadWebPro.ttf和
MyriadWebPro-Bold.ttf,并通过style/main.css文件将这个字体库构造字体作为工程的默认字体,但是这个库没有包含中文
字体。
网上有方法描述如何使用包含中文字体的字库作为默认字体库,参考如下
http://kevincao.com/2009/06/font-converter-update/
http://kevincao.com/2009/06/flash-font-4/
内嵌中文字体的最大问题是生成swf文件非常大,内嵌入网页很不合适。
现在的解决方法是,去掉字体的设置。不清楚后面的原理,猜测是使用系统自带的字体,估计在一些非中文操作系统上是不能显示中文的,但那有怎样呢,呵呵。
2. 可视点的设定
考虑到性能的原因,Birdeye ravis中默认设置是部分显示graph的顶点。可以通过设置VisualGrap的属性来调整:
maxVisibleDistance:int
Limit the currently visible nodes to
those in a limited distance (in terms of degrees of separation) from
the current root node. If showHistory is enabled, the previous root
nodes will be shown regardless of this limit.
visibilityLimitActive:Boolean
Specifies if any visibility limits should
be active or not. If not active, always all nodes are visible. If
you have many nodes, this could have a severe impact on your
performance so handle with care.
This property can be used as the source for data binding.
3. Xml输入文件中包含html格式文本来控制显示
使用<![CDATA[ 需要处理的内容]]>方式来包含html格式的内容作为xml节点的内容,而不是作为节点的属性,这样可以避免一些xml的编码问题和xml解析错误。
4. 控制graph顶点的双击效果
默认情况下,双击顶点后将以被双击的顶点为root,调用layouter算法重新布局。可以在VisualGraph中将此功能注释掉。
5. 顶点和边的标签都可以重新render ,顶点的绘制可以在primitive中重新设定
edgeLabelRenderer:IFactory
Allow to provide an EdgeLabelRenderer in order to display edge labels. The created instances must be UIComponents.
itemRenderer:IFactory
Allow the provision of an ItemRenderer
(which is more precisely an IFactory). This is important to allow
the Drawing of the items in a customised way. Note that any
ItemRenderer will have to be a UIComponent.
然后使用vgraph.XxxRenderer = new ClassFactory(XxxRenderer);注入VisualGraph。
6. 边的绘制
IEdgeRenderer
Allow the provision of an EdgeRenderer to
allow drawing of edges in a customised way. The edgeRenderer has to
implement the IEdgeRenderer interface.
Ravis中提供了几种边的绘制类,也可以自己编写类似的构造边的类。
分享到:
相关推荐
3. **数据可视化**:BirdEye支持多种数据可视化方式,如点状、线状和面状图层,可以根据数据类型和需求选择合适的展示形式。 4. **交互性**:用户可以通过点击、拖拽等交互方式来探索地图,获取详细信息或者进行...
资源分类:Python库 所属语言:Python 资源全名:carla_birdeye_view-1.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
2. **数据绑定**:Flex支持数据绑定,可以将图形元素与后台数据源关联起来,这样当数据变化时,图形会自动更新。这对于实时展示网络状态非常有用。 3. **事件处理**:通过监听和响应用户交互事件,例如鼠标点击或...
此外,它可能还支持自定义节点和边的样式,以适应不同的视觉需求和品牌标识。由于是由谷歌开发的,我们可以推测它可能具有高度优化的性能和稳定性,适应大规模数据的处理。 另一方面,"DegrafaFlex4.swc"同样是一个...
birdeye是基于flex的拓扑图,该压缩包包含swc和使用demo
主要是branch中的birdeye。 这里是源代码,但需要借助另外的开源框架Degrafa。我用的是Degrafaflex4.swf。 这里我直接将degrafaflex4.swf和birdeye本身自己写的vis打成一个swf文件。即birdeyelib.swf。 做图形报表...
- 实时预览:支持即时查看布局变化,方便调试与优化。 - 文档详尽:提供了详细的文档说明,便于学习与参考。 #### 三、Flexlib - **网址**:http://code.google.com/p/flexlib/ - **简介**:由Doug McCune发起的...
用Flex基于birdeye开发的雷达图示例,数据是模拟生成的。
- **社区支持**:[http://groups.google.com/group/flexvizgraphlib](http://groups.google.com/group/flexvizgraphlib) #### 二、SpringGraphFlexComponent的实现细节 - **节点和连线**:...
2.搜索功能支持ie6.0+ //设置Theodolite$setPoint var cpointtmp = new CPoint(this.holder.offsetLeft + evt.clientX - this.mvl.offsetLeft, this.mvl.offsetTop + evt.clientY - this.mvl.offsetTop); ...
Flex的强大之处在于其支持动态更新和交互。可以添加鼠标事件监听器,实现节点的拖放、双击编辑等功能。此外,可以利用Tween类或自定义动画实现拓扑图的平滑过渡效果,如节点移动、边线变化等。 5. **Birdeye视图**...
以上这些Flex开源项目不仅丰富了Flex开发者的工具箱,还推动了Flex技术的发展,为各种类型的应用程序提供了更强大的支持。通过参与和利用这些开源项目,开发者可以更好地满足用户需求,实现更具创新性和效能的富...
4.BirdEye:BirdEye是一个社区项目,促进了Adobe Flex设计和开发的广泛的开源信息可视化和可视分析研究库。用户可以使用BirdEye创建多维数据可视化界面,用于信息分析和显示。 5.Degrafa:Degrafa是一个声明式图形...
描述中提到的"拓扑图birdEye改造",可能是指对原有拓扑图的全局视图(bird's eye view)进行改进。全局视图能够让用户在单一视图中概览整个网络或系统的结构,这对于大型复杂系统来说尤其有价值。改造可能包括改进...
它提供了高效的渲染引擎,支持多种图布局算法,适合创建大规模网络拓扑视图。 5. **BirdEye改造**:可能是指一种对网络拓扑图的全局视图和局部视图切换的技术。鸟瞰视图(Bird's Eye View)通常用于显示整个网络的...
14. **Degrafa**: 一个声明式的图形描述框架,用于创建复杂的图形,虽然不是每个人都喜欢,但它有专门的社区支持。 15. **OpenFlux**: 宣称是一个开放源码的Flex组件框架,旨在提供灵活的组件开发基础。 这些开源...
14. **Degrafa**: 一个声明式的图形描述框架,虽然有些人更倾向于使用AS3和Flash IDE进行图形设计,但 Degrafa 由于其社区支持和潜力,仍具有一定的吸引力。 15. **OpenFlux**: 宣称是一个开放源码的Flex组件框架,...
无论您如何运行或编辑代码,都可以使用birdeye。 只需pip install birdseye @eye如上所示添加@eye装饰器,按自己喜欢的方式运行函数,然后在浏览器中查看结果。 它还以提供更流畅的体验。 而不是单步执行,而是在...
12. **BirdEye**:一个大型项目,涵盖了数据可视化多个领域,如关系分析、空间信息分析、数值分析、历史数据分析以及通用工具库。 13. **Antennae**:基于Ant的Flex工程模板,集成了flexUnit等测试工具,增强了Flex...
**新增了鸟瞰图**,运行birdeye.py即可。(已删) PS:鸟瞰图转换中,标定板平面坐标系的原点以左上角为基础,向左上平移了200mm。 2023/5/23 更新: 下载了yolov7代码,能够检测视频中人物但是非常卡。 ...