可视化学习2011

segment 2011-01-17

openoffice3.2在windows下面安装以后,我想通过"C:\Program Files\OpenOffice.org 3\program\soffice.exe" -headless -accept="socket,port=8100;urp;" , 打开soffice.bin,但是却不行,最开始以为端口没开,或者是打印机占用了8100端口,结果都不是,是需要打开一次openoffice,进行一次初始化设置,才能够使用上面的命令打开soffice,这个命令有可能就是在后台打开openoffice,但是在前段却不用看到OpenOffice程序界面。

 

segment 2011-01-11

Text Analytics文本分析:用户观点

1.文本分析原理:

大多数人处理电子文档的方式是:

发布,管理,存档,重构

索引和搜索

通过元数据和内容归类和分类

总结或者抽取出信息

“Statistical information derived from word frequency and distribution is used by the machine to compute a relative measure of significance, first for individual words and then for sentences. Sentences scoring highest in significance are extracted and printed out to become the auto-abstract.”

来源于词频和词分布的统计信息经常用于计算相对的重要性,

首先是单词,然后是句子,在重要性得分最高的句子被抽取出来;

文档中的词汇数量

文档中的不同词:不同词的数量,不同的普通词数量,不同的非普通词数量

非普通词中出现次数大于或者等于5的词数量

 

 

segment 2011-01-11

Text Mining + visualization = visual analytics

Text mining approaches controlling over/under-fit 文本挖掘方法

Rule based : difficult to control under fit 基于规则:

Natural language processing : difficult to control over fit 自然语言处理

Machine learning : controls over-fit and under-fit 机器学习

 

文档聚类:自动化的文本挖掘

归类:人工的文本挖掘

使用文本挖掘在数据中找出规律

使用可视化使得复杂数据容易理解

步骤:

1.数据管理和数据预处理

2.文本挖掘,在流水线上清洗数据

3.把清洗后的数据映射成几何图形

4.渲染和用户交互操作

专利分析应用程序:

1.专利搜索,使用归类和聚类算法

2.专利分析,找到新的研究或者利用点

3.专利分类,优化利用,专利评估

专利分析:专利分类法的tree map可视化

基于Medline的文本挖掘和可视化应用程序

1.检索事实和关系(使用归类和聚类)

2.使用归类消除模棱两可

3.指定的实体识别

4.概念和关系发现

5.通过集成文本挖掘和可视化进行知识发现

数据挖掘,图像挖掘,图表挖掘

 

 

segment 2011-01-10

What did we do?我做了什么

Why did we do it?为什么我做了

How did we do it?我是怎么做的

Did it work?它可以工作么

What did it look like?它具体是什么样子

What we plan to do next?接下来要做什么

 

segment 2011-01-11

Tableau Public: Visualize and Share your Data Online via the Desktop

Forget mashups: Tableau Software wants data junkies to do the 'viz'

Social Visualization方式:

web方式:manyEyes,Swivel

software方式:Tableau方式

1.open

2.create

3.share

 

Interactive maps, graphs and dashboards for the web.

 manyeyes的两个创建者的采访

http://infosthetics.com/archives/2010/05/interview_fernanda_viegas_and_martin_wattenberg_from_flowing_media.html

manyeyes的创建者的最好的一个应用,

http://www.babynamewizard.com/voyager

非结构化数据:事实上80%的信息来源于非结构化的数据,例如:

电子邮件,短信,网页新闻,Blog文章,论坛,社会媒体,通知,手稿,

调查,反馈,科学文献,书籍,

非结构化数据源可能包含数据,文本,事实描述,观点想法,narrative,元数据,

narrative:陈述,把一样东西按照一定的格式说出来,例如时间:***;人物:***;。。。

 

我们面对非结构化数据时的问题:

1.找到所需信息;

2.使用内在结构和潜在语义来推断出意思,

找出信息内容,然后把内容组织成机器能够识别的方式;

3.使用分析工具或者方法从内容中透析出深层次的内涵;

4.提交结论或者结果;

把结果按照主题进行聚类

文本分析使得用户搜索信息更为方便智能,把信息搜索转变成为了信息访问,比如用户检索中国人口,一般说来我们是想知道中国人口的数量;

数据挖掘:数据中的知识发现;

文本挖掘:文本资源的数据挖掘,包括聚类,分类,链接分析,预测模型(预测衰退或者)

文本挖掘使得文本探索成为可能;

文本分析能够把研究人员,作家,学者等不同类型人员的工作自动化;

文本分析的定义:应用语言学或者统计学的知识来抽取出概念和模式,这些概念和模式可用于归类文档,声音,视频,图像等各种类型的文件;把非结构化的信息转换成数据,以使用传统的分析工具进行处理;在计算机无法处理的大量信息中找出信息的内涵和关系;

词汇定义:文本中的信息,方法,组织和结构化,评估,

文本分析的途径:

 

segment 2010-12-28

这个例子比较好,主要是该例子的文本字数比较多,有100多万个。

http://www-958.ibm.com/software/data/cognos/manyeyes/visualizations/word-tree-of-law-in-kjv

 

segment 2010-12-27

scale9Grid是一个Rectangle类型,因此定义某个Rectangle区域是scale9Grid之后,整个显示对象的缩放将应用下面的规则,简单地讲就是正常缩放该区域中的内容,其它区域有的要缩放,有的不缩放。

在设置 scale9Grid 属性并缩放显示对象后,会正常缩放所有文本和渐变;但是,对于对象的其它类型,将应用以下规则:

  • 正常缩放中心区域中的内容。
  • 不缩放转角中的内容。
  • 仅水平缩放顶部和底部区域中的内容。 仅垂直缩放左侧和右侧区域中的内容。
  • 拉伸所有填充(包括位图、视频和渐变)以适应其形状。

如果旋转显示对象,则所有后续缩放都是正常的(并会忽略 scale9Grid 属性)。

 

segment 2010-12-27

Also people get confused between using these components in Flash Professional and in Flex Builder. If you are using Flash Pro then you should use the fl package, if you are using flex then you should be using the mx package.

最近在看actionscript3API的时候发现里面fl打头的包不在FB4中提示找不到包,原因应该是fl包是Flash平台的,对于flex,有fx包与之对应。

 

segment 2011-08-17

flare可视化包

flare.analytics.cluster:把数据聚集到组中;

AgglomerativeCluster:使用agglomerative clustering分层聚集多个项目,通过不断合并相同项目实现的,这个过程最终以形成一个聚类树结束,

DependencyGraph实例程序在flex3.5下面可以正常运行,在flex4.1下面不能够显示文字,只有取消自定义的TextFormat才能显示文字?

你觉得下面的代码的结果是什么吗?

            var i:int;

            i =0;

            trace(i?".":"");

debug的结果是什么都没有,这里的i定义为uint,而0都是这两种数据类型的默认值,所以结果是i的布尔类型是false,当i设置为其它值的时候,i的布尔类型就是true,不知为什么感到有点奇怪。。。

 

segment 2010-11-26

Flex文档上指出所有的可视化控件都继承自UIComponent 而它自己是实现了IUIComponent 接口的。UIComponent 允许添加Sprite和MovieClip。

经常使用到的做法是:

   var comp: UIComponent = new UIComponent();

   comp.addChild(sprite);

   cavas1.addChild(comp);

SpriteVisualElement  用于显示不是flex组件的元件 如sprite 如 movieclip

调试了很久的程序,需要几下一些心得:

sprite和flex4组件继承于不同的类,

   Sprite  DisplayObjectContainer  InteractiveObject  DisplayObject  EventDispatcher  Object

flex组件是不可以addchild  sprite的,但是uicomponent可以。

 

segment 2010-11-25

使用 ActionScript3构建组件

如何创建一个自定义的Button组件:1.可以通过创建一个继承了UIComponen类的子类,2。创建一个继承了Button类的子类;

简单组件:继承自单个flex组件的子类;

高级组件:(符合下面三个条件之一)

  1. 修改了控件的外观或者容器的布局;
  2. 包含多个flex组件;
  1. 继承自UIComponent类;

在AS中定义public属性,下面两种方法:

  • Define public variables
  • Define public getter and setter methods:可以再setter方法中添加程序;

看到第2304页;

创建一个default属性:

  • 使用[DefaultProperty] metadata tag:[DefaultProperty("defaultText")]

Making properties accessible in Flash Builder使属性可存取

  • [Inspectable]metadata tag

Using data binding with custom properties在自定义属性中使用data binding

  • Using properties as the destination of a binding expression使用属性作为binding表达式的目标:curly braces ({ })
  • Using properties as the source of a data binding expression使用属性作为binding表达式的源:[Bindable]

Flex 组件的生命周期可以总结为

两个模式

三个时期:

  1. 初生阶段,
    1. 三个步骤:
      1. 构造
      2. 配置:使用组件的 set 方法是缓存特性值。将真正的业务逻辑推迟到提交阶段。
      1. 装配和初始化:组件只有通过 addChild 或者 addChildAt 方法被转配到 Display List 上,才会依次进入到以下的生命周期时期
        1. 组件派发 Preinitialize 事件:这个阶段意味着组件已经被添加到了显示列表(DisplayList)上。
        2. 调用createChildren() 来生成子元素:在这个阶段里,您可以覆盖这个方法添加需要的子元素。
        3. 派发 initialize 事件:组件及其所有的子元素都已经被创建、配置装备到了 DisplayList 上。
        1. 进入第一次验证和提交阶段:Flex 框架会通过 layoutManager 引擎来依次调用组件的三个验证方法 invalidateProperties,invalidateSize() 和 invalidateDisplayList(). 以及其其分别对应的三个提交方法 CommitProperties(),measure() 和 updateDisplayList()。
        1. 派发creationComplete 事件。
        1. 至此,组件的初始化阶段完成,同时也意味着 Flex 组件的出生时期结束了
    1. 四个对应的protected 方法:
      1. constructor:  通常对组件本身(并不是组件子元素)的事件监听器会在构造函数里注册。  我们通常也不在构造函数里添加子元素
      1. createChildren
      2. commitProperties
      3. measure
      4. updatedisplayList
    1. 编程提示:
      1. 覆盖 createChildren 方法来添加子节点,此方法会且只会被执行一次。 尽量把创建动态形式和数据驱动(data-driven)形式的子元素推迟到 CommitProperties() 方法里添加或者执行。
  1. 生长阶段
    1. 介绍:组件经过出生时期之后就进入了生活时期,这个时期意味着组件可以被看见,被操作,甚至被删除。并且作为一个成熟的个体,组件可以和外界进行交互,对更新请求进行响应。Flex 组件使用 Invalidation – Validation(失效-验证)模式来响应更新请求。
    2. Invalidation – Validation 模式即验证提交 - 模式提供了一个低耦合的处理过程,将数据的改变(旧数据的实效)和数据的处理(对新数据的重新使用)区分开来,这样做的好处:
      • 只在有屏幕刷新需求的时候的时候进行相应数据操作和计算;
      • 并且避免了不必要的重复渲染。
    1. 验证阶段(Invalidation)
      • Flex 组件基类 UIcomponent 提供了三种验证方法:invalidateProperties()、invalidateSize()和 invalidateDisplayList() 来分别响应组件对属性相关,布局相关和显示相关属性的更新请求
      • 组件会通过两种方式进入到验证阶段:
        1. 第一种方式是在初始化阶段
        2. 第二种方式是响应更新请求
      • 在这个时期,我们通常不去做太多的事情,因为此时只是验证阶段,更新并不生效。我们所要做的只是记录此次更新,并且等待进入提交阶段。
    1. 提交阶段(Validation)
      1. 组件更新会在提交阶段实际生效
      2. 和验证阶段的随时更新随时校验不同,Flex 框架为提交阶段设计了线性执行的顺序,将三个提交方法分为了三个阶段。顺序调用三个提交方法:commitProperties(),measure()和 updateDisplayList()。
    1. 交互阶段(Interaction)
      1.  
  1. 销毁阶段

四个方法

五个事件

七个阶段:构造、准备、装配、验证、提交、交互、拆卸和回收

 

segment 2010-11-23

Flex4 beta Spark 布局

与halo布局的比较:

相同点:

mxml开发人员。。。

组件开发人员:核心布局管理类以及组件生命周期都没有发生变化。 对于组件开发者来说三个十分熟悉的方法—commitProperties(), measure(), 和 updateDisplayList()—仍然被布局管理器以相同的顺序进行调用,并且失效规则也没有发生变化。

显著的不同点:

Spark布局从容器中分离出来了。元素的放置会交由一个Spark布局实例来完成,也就是通过设置layout属性。

 

segment 2010-11-24

FlashBuilder4学习点滴:

1. 项目重构:当项目中删除了某些文件然后重新编译以后,在 bin-debug 下可能并不会动态删除对应文件,这会使项目不必要的增大。菜单:项目→ 清理 ,项目清理也是一种项目重构;

2. as3中定义私有属性时,变量是以下划杠开头;

3. 主题:spark以及wireframe主题只对spark包中的控件有效,也就是对Flex Builder 3中的控件是没有效果的。(目前为止,halo包里面的空间同样能显示wireframe主题中的效果)

4. 布局:Flex 4中,布局已经从控件中剥离出来。在Flex 4spark包中已经没有了原来的Hbox, Vbox, Box以及Canvas容器,取而代之的是Group,另一个新的容器是SkinnableContainer,它与Group的区别是我们可以为它定义皮肤,Group不能定义皮肤但有更高的执行效率以及使应用程序的体积更小。

例子:在Flex 4中这样定义List, TileList以及 HorizontalList。flex4中已经没有flex3中的TileList和 HorizontalList这两种控件了,而是通过设置layout属性来实现这两种控件的效果。

List:

<s:List />

HorizontalList:

<s:List>

<s:layout>

<s:HorizontalLayout />

</s:layout>

</s:List>

Tiled List:

<s:List>

<s:layout>

<s:TileLayout />

</s:layout>

</s:List>

同样:除了控件的布局方式改变外,Flex 4中的滚动条也从控件中剥离了出来,默认的容器是没有滚动条以及virtualization的。

例子:

<s:Panel title="Horizontal Panel" width="300" height="220" left="20" top="20">

//panel组件中添加滚动条

<s:Scroller width="100%" height="100%">

<s:Group>

<s:layout>

<s:HorizontalLayout useVirtualLayout="true" />

</s:layout>

//滚动条中的其它组件

</s:Group>

</s:Scroller>

</s:Panel>

5.创建了mxml和as3文件,但是在mxml中引用那个as3文件却老是出错,原因有可能是as3文件在fb下面没有写对包名,但是fb却不报错。

6.特效:

  1. Spark.effects.*包中的特效对所有的对象都有效,包括原有的Halo 控件, 新的Spark 控件, 甚至graphic绘制的图像
  2. Flex 4中的特效都继承于Animate类,Animate继承于Effect类,这样新的特效与Flex3的特效就完全是平行关系 (Flex 3的特效继承于TweenEffect类),我们移植代码时就可以保留原有的代码不变了。

相关内容:

  1. 使用Animate实现简单的特效
  2. 使用Parallel让两个特效同时执行
  3. Transition用于在state转换是执行Fade特效

 

7.CSS样式

  1. 同一控件多样式的设置:在Css文件中定义下面的样式,例子:.blackButton{base-color:#000000;} .whiteFont{color:#ffffff;},button的设置:styleName="blackButton whiteFont" ,这里设置了两个样式;
  2. 通过控件ID设置样式:例子:#okButton{baseColor:#ae0000;color:#ffffff;},button的设置:<s:Button id="okButton"/>
  3. 子控件样式设置:例子:s|Panel s|Button{baseColor:blue;color:#ffffff;},panel和button的设置:<s:Panel id="test"><s:Button/></>
  4. 状态样式设置:例子:#cancelButton:up{baseColor : #538787 ;color : #304f68 ;},#cancelButton :down{},#cancelButton :over{},Button的设置:<s:Button id="cancelButton" />,这里是根据Button的三个状态来设置的;

注意:Spark主题中使用了很多图片作为控件的皮肤,因此Spark只支持部分的色彩样式, 它们是baseColor, color, contentBackgroundColor,

focusColor, symbolColor, selectionColor, and rollOverColor,如果同学们想改变一些控件的背景,比如Button的背景样式,我们需要重新定义背景的skin图片才可以做到。

8.状态:

下面的例子定义了一个state,这个state包含一个控件,去掉了另一个控件;

<s:states>

<s:State name="submitState" />

</s:states>

 

<s:TextInput id="firstTextInput" excludeFrom="submitState" />

<s:Group id="loginForm" >

<s:Button label="submit" bottom="10" right="10" includeIn="submitState"/>

</s:Group>

9.双向绑定:

<s:TextInput id="t1" text="@{t2.text}" />

<s:TextInput id="t2" />

10.创建自定义组件:

组件:component,指任何可复用的、可以与其他对象交互的对象;Flex 中的所有类都可以被称为组件,其中能够在界面上看到的组件都可以被称为控件。

控件:control,指能够在界面上看到的组件,也称为可视组件,所有的控件都是组件;

       在 Flex 中,所有的可视组件都继承自 UIComponent ActionScript 类。常用的非可视组件有 Validator、Formatter 和 Effect。

        当扩展现有的组件无法满足应用程序要求时,我们需要创建新的自定义组件。在 Flex 中,如果创建的自定义组件是可视组件,并希望能够被 addChild 及相关方法所调用(这意味着所创建的自定义组件可以添加到容器中去,可以参与界面的布局),所创建的自定义组件需继承 UIComponent 类。

       可视组件的基本结构:

       所有的 Flex 可视组件都是 UIComponent 类的子类。因此,可视组件将继承 UIComponent 中定义的方法、属性、样式、事件和特效。为了创建一个可视组件,我们必须实现类的构造函数。此外,我们还可以有选择的重写一个或多个下列 UIComponent 中定义的保护方法。

       组件的使用者并不会直接调用这些方法。这些方法将作为初始化过程的一部分,在创建组件时被 Flex 所调用,或者在调用其他方法时被调用。

 

segment 2010-11-18

一。DisplayObjects

    1.介绍

    screegraph;

    可视化对象按照层级排列

  • stage
  • root
  • visual items(所有的对象都是DispalyObject类的实例)
    • Bitmap
    • textfield
    • video
    • sprite(常用,与其它对象不一样,它继承自DisplayObjectContainer类,既可以绘制内容,又可以包含其它对象)
    • shape(常用,只能绘制内容,因此占用较少内存)

    2.创建一个新的程序

 

    3.Sprites

    Sprites是Flash编程中用的地方最多的对象;它包含一些属性: x, y, scaleX, scaleY, rotation, and alpha,These respectively change the position, size, orientation, and transparency of a sprite (and all its children! Remember, we're using a scenegraph here),通过使用这些属性可以改变Sprite及其里面对象的属性;

    每一个Sprite都有graphics属性,使用它可以在Sprite中绘制图像,

 

    4.嵌套的Sprites

 

二。animations

    1。导入flare包:把整个包里面的内容全部导入到工作区中;

    2.flare库概览

    3.把导入的工程加载到项目里,可以把flare.swc文件加载到项目里

    编译生成swf文件的时候,编译器只会把项目中使用过的类编译进swf,而不会把所有使用过的库都编译进去,因此swf文件有时候看起来非常小。

    4.基本的动画

  1. transition(下面三个类的基类)
  2. Tween(单个对象的动画)
    1. 第一个参数是动画对象
    1. 第二个参数是动画时间
    2. 第三个参数是动画对象属性及其值,这个属性一定是该对象具有的属性;允许嵌套属性,也就是属性还有属性;
    3. 第五个参数是easing值;默认有easing效果slow-in slow-out,使用tween.easing = Easing.none来取消easing;
    4. play方法是运行动画,默认参数是false,如果是TRUE,将按照帧的顺序从后往前运行;
  1. Sequence(一系列动画的顺序执行)
  1. Parallel(多个动画的同时执行)
  2. 复杂的动画
    1. 结合使用上面说的三种动画方式;
  1. Transitioner处理多个动画
    1. 需要解决的问题:处理大量的tweens,
    2. Transitioner简单化了为对象集创建动画的过程,只需要先确定对象,然后分别进行属性设置,

三。visualizations(data类和visualization类)

    1.加载数据

  • 使用的是flash内置的数据类型Object and Array,
  • 在flash player中加载数据的方法
    1. 把数据集成到程序中,这种方式叫做静态数据集
    1. 动态加载数据,例如使用javascript向flash传递参数,或者直接从server上加载。ECMAScript for XML (E4X)标准处理xml文件,flare目前支持的数据格式是:
      1. tab-delimited text (“tab”, a standard file format for exporting data from tools such as Excel)
      2.  JavaScript Object Notation (“json”, a common data format for web applications)
      3.  GraphML (“graphml”, an XML format for representing networks with nodes and edges)

    2.创建,管理可视化对象

  • 可视化一个数据集
  • 数据集到可视化对象的映射
  • DataSprite:代表可视化数据的基类,也是sprite
  • NodeSprite:代表node的DataSprite实例
  • EdgeSprite:代表edge的DataSprite实例

    3.构建一个可视化

    4.更新可视化

 

进一步学习。。。

 

segment 2010-11-17

尽管研究很多,但是进行大规模可视化图形呈现的时候,创建合适的布局依然很困难。不合理的布局使得我们很难与在可视化图形进行交互。我们提出了一个新的交互式可视化分析组件,叫做TreePlus,它是基于一个树的布局,它的好处是增强了阅读性和交互性。

可视化呈现的基本问题:处理由节点和边组成的集合,计算节点在图形中的位置和连接节点的曲线路径,但是大多数经典画图算法都没有考虑到交互性,比如力导向算法很流行,因为很简单,容易理解,但是它很慢,而且每次打开的时候都会创建一个新的图,有时候节点与节点经常重叠。

Overview first, zoom and filter, then details-ondemand

把图转换成树;

显示隐藏的图形结构

排列

搜索

 

 

segment 2010-11-17

actionscript3.0学习,

早就该学习了,以前也学过,但是都是得过且过;

处理事件:onEnterFrame

1.要在flex builder中调试flash,首先在电脑中安装flash player debugger版本;应该包括activeX和plugin两个版本;

下面是把追踪的内容写入文件中的方法。

2.在C:\Documents and Settings\值班\  中新建文件mm.cfg;

mm.cfg内容如下:

ErrorReportingEnable=1

TraceOutputFileEnable=1

3.调试中trace输出的结果在

C:\Documents and Settings\值班\Application Data\Macromedia\Flash Player\Logs\  中的flashlog.txt中;

tips:flash player debugger版本装好以后需要重启电脑才能生效

segment 2010-11-17

使用 Flash 描述复杂的社交网络

弹簧理论算法在社交网络分析中的应用、

社交网络图作为数据源的通用格式、

弹簧算法的 Flash 实现

 Flash 结合 Java Plug-in 的实现

弱关联的网络-------关系紧密的网络之间的区别联系

社交网络分析建议,我们要避免与同一网络的个体间建立过多的冗余关联,同时要尝试与不同的外界网络建立联系。也就是说我们需要的时候才会想起那些朋友,我们与这些朋友之间其实很少联系。

 

 

猜你喜欢

转载自blog.csdn.net/nesodic/article/details/114262151