prefuse学习

prefuse是一个用界面包用来把有构与无构数据以具有交互性的可形展示出来.包括的数据有任何可以被描述成一组实()或者可以被接在一起的一些(边缘).prefuse支持的数据包括具有次性(:文件系,组织图),(拓扑,网站),和甚至是没有接的数据集(:时间线)

<o:p> </o:p>

以上是网上prefuse的介,可是大家估都看的不太懂。

之,prefuse就是完成数据的展示的工具包。prefuse提供的基础工具类上,可以轻松的完成复杂数据的表现。<o:p></o:p>

首先,先来三个例子,都是prefuse包中自带的demo.体验一下,prefuse在数据可示化展示的强大功能。<o:p></o:p>

第一个例子是Congress,它把数据结构为表的数据显示。它显示的文件在prefuse-beta\data\fec.txt.<o:p></o:p>

fec.txt文件中显示的是候选人的民意调查文件。每行数据就是一个显示单元。

运行时的切图如下:<o:p></o:p>

这个demo完成了以下的功能:<o:p></o:p>

1,  鼠标拖动右边的滚动条,可以把密集的数据按照显示区间分散。<o:p></o:p>

2,  Party DEM显示为blue, Party REP显示为red,其佘的显示为灰色。<o:p></o:p>

3,  District>0时,显示为方框,=0时,显示为菱形。<o:p></o:p>

4,  横坐标显示为State Code,纵坐标显示为Total Receipts<o:p></o:p>

5,  Candidates框中输入查询内容a,所有Candidate列中,包含aCandidate行数据显示。

6,  单选框中选中1996,只有Year=1996年的行数据显示。<o:p></o:p>

7,  鼠标放在某个数据上,右上角的标题出现本条数据的CandidateParty DesignationState CodeYearTotal Receipts的连接显示<o:p></o:p>

如果这个程式是用flash写的估计大家也不会感到惊奇,但是java写的,300行搞定。会不会觉得很神奇呢?呵呵。首先java中有很多方方面面的资源,完成一个大型应用,比如olap,可以再进一步,利用prefuse可一步简单的数据可视化显示。<o:p></o:p>

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p>

第二个例子是RadialGraphView,它把数据结构为图的数据显示。它显示的文件在prefuse-beta\data\ socialnet.xml.<o:p></o:p>

socialnet.xml文件中显示的是社会网络关系文件。一个人就是一个结点,一个人可以和其它人有联系。<o:p></o:p>

第二个demo完成了以下的功能:<o:p></o:p>

1.  把数据以点连线的方式在画面中显示<o:p></o:p>

2.  鼠标放在某个数据上,有加亮显示<o:p></o:p>

3.  鼠标左键可以把图在画面中拖动<o:p></o:p>

4.  鼠标右键可以把图放大或者缩小<o:p></o:p>

5.  鼠标单击某个数据上,该数据点中心化显示(可以点击下试试就知道中心化显示)<o:p></o:p>

6.  鼠标可以选中某个数据点进行任意位置的拖动,而在该点与其它点的关系保持不变<o:p></o:p>

7.  在右下框输入a,则图中数据点中包含a的数据加亮显示<o:p></o:p>

 这个文件也是300行左右完成的。<o:p></o:p>

<o:p></o:p>

<o:p> </o:p>

第三个例子是TreeView,它把数据结构为树的数据显示。它显示的文件在prefuse-beta\data\ chi-ontology.xml.gz.这是一个压缩文件<o:p></o:p>

chi-ontology.xml文件中显示的树状结构,只有一个根结点,每父节点都有很多子节点<o:p></o:p>

第三个demo完成了以下的功能:<o:p></o:p>

1.  把数据以树连线的方式在画面中显示<o:p></o:p>

2.  鼠标放在某个数据上,左下角有该数据名称的显示<o:p></o:p>

3.  鼠标左键可以把图在画面中拖动<o:p></o:p>

4.  鼠标右键可以把图放大或者缩小<o:p></o:p>

5.  鼠标单击某个数据上,该数据点中心化显示,并且只显示譔结点以下两层子结点,兄弟结点只显示以下一层结点<o:p></o:p>

6.  在右下框输入a,则图中数据点中包含a的数据加亮显示<o:p></o:p>

7.  右键单击树的某结点在图中适当的尺寸来显示<o:p></o:p>

8.  Ctrl 1~4以不同的方向来显示树<o:p></o:p>

 这个文件仍然是300行左右完成的。<o:p></o:p>

<o:p> </o:p>

<o:p></o:p>

以上大家可以知道prefuse的强大功能。<o:p></o:p>

为什么要用prefuse来显示数据呢?大量的数据隐藏着知识,如果我们能把数据更丰富的显示出来,也许我们就能发现这些知识。我们可以把数据知识更好的说明问题。给领导看,倍有面子。

~~

图片不知道杂插入.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值