information visualization toolkit. framework extensível criação de softwares interativos free...

Post on 21-Apr-2015

116 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

information visualization toolkit

Framework extensível

Criação de Softwares interativos

Free license

Componentes para layout

Consultas dinâmicas e interativas

Gráficos

Distorções técnicas de animação

Grafos

Conjunto de classes experimentais

Grupo prefuse 73

Swing, Jazz e Piccolo são Java toolkits

Ajuda fórum SourceForge

Bug Tacker do SourceForge

Correção de bugs e submeter adicionais

Você se tornar um desenvolvedor

Rede social egocêntrica

Visualização básica

Sociograma Interativo

Modo de comparação

Information Visualization Reference Model

Série de etapas definidas

Tese de PhD (Data State Model)

Dados a serem visualizados

Figuras, Grafos, Estrutura de Arquivos, etc

Transformação dos Dados

Estrutura de Dados

Grafos

Listas

Árvores

Tabelas

Mapeamento Visual

Interface Dados/Visualização

Transformações Visuais

Renderização de componentes

Variedade de perspectivas

Múltiplas visões

Exemplos dos tipos de aplicações que podem ser construídas com o prefuse toolkit

http://prefuse.org/media/prefuse.wmv

Dispositivos de Entrada

Processamento

Possibilidade de Mudanças

Dispositivos de saída

Table, Graph e Tree

Tuple

Node e Edge (itens individuais)

Aggregate (conjunto de ítens)

prefuse.data.expression

CSV e texto delimitado (‘\n’, ‘\t’, ‘\r’)

GraphML e TreeML

prefuse.data.io.sql

Manipulação de Dados Abstratos

Filtering

Item Registry

Action

AcctionList

Rendering

Mapeamento de Dados

Conjunto de dados Parte dos Dados Filtering VisualItem

Sua Rotina◦ Filter Action◦ Assignment Action◦ Animator Action

ItemRegistry

Objeto central do Prefuse

Gerencia visualização

Armazena VisualItem

Responde ao Filtering

Boa performance

Garbage Collection

Conteúdo atualizado por Actions

Componente básico

Atualizam VisualItem

Configuram VisualItem

Filter Action

Assignment Action

Animator Action

Actions podem ser guardadas em ActionList

Executa sequencialmente

É um action

Execução configurável

Renderers◦ API simples consiste de 3 métodos

◦ RendererFactory

Display◦ Java2D library

Visualization

VisualItem

NodeItem e EdgeItem

Action

Associação de tarefas a itens

Eventos

Animações

Renderer

Desenhar e computar itens

RendererFactory

Display

Age como uma “câmera”

Control

ControlAdapter

prefuse.data.query

O Prefuse Toolkit originalmente fornece um framework para visualização voltado para a linguagem de programação Java

Visa criar visualizações dinâmicas de dados estruturados e não estruturados.

O Prefuse Flare Toolkit oferece ferramentas de visualização e animação para ActionScript e Adobe Flash Player

Facilita a criação de visualizações interativas de dados

Pode ser livremente utilizado, modificado e vendido

Flare open-source software é liberado sob uma licença BSD (Copyright © 2007 Regents of the University of California)

Utiliza-se a API DRAW do Flash

Concorrente: Flex Charts

Vantage: Open Source

Visualização de dados para Web

http://flare.prefuse.org/demo

Rede social LOADGraph graph = null; try {

graph = new GraphMLReader().readGraph("/socialnet.xml"); } catch ( DataIOException e )

{ e.printStackTrace(); System.err.println("Error

loading graph. Exiting..."); System.exit(1);

}

Rede social

VISUALIZAÇÃO

Visualization vis = new Visualization(); vis.add("graph", graph);

Rede social RENDERS

//set o nome em cada nóLabelRenderer r = new LabelRenderer("name");

r.setRoundedCorner(8, 8);

// cria um render factory//inclui EdgeItemsvis.setRendererFactory(new DefaultRendererFactory(r));

Rede social Processando Actions

int[] palette = new int[] { ColorLib.rgb(255,180,180), ColorLib.rgb(190,190,255) };

DataColorAction fill = new DataColorAction("graph.nodes", "gender", Constants.NOMINAL, VisualItem.FILLCOLOR, palette);

Rede social Processando Actions

ColorAction text = new ColorAction("graph.nodes", VisualItem.TEXTCOLOR, ColorLib.gray(0));

ColorAction edges = new ColorAction("graph.edges", VisualItem.STROKECOLOR, ColorLib.gray(200));

ActionList color = new ActionList(); color.add(fill); color.add(text); color.add(edges);

Rede social Display e controles interativos

Display d = new Display(vis);

d.setSize(720, 500);

d.addControlListener(new DragControl());d.addControlListener(new PanControl()); d.addControlListener(new ZoomControl());

Rede social Carregando a vizualização

JFrame frame = new JFrame("prefuse example");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(d);frame.pack(); frame.setVisible(true); vis.run("color");vis.run("layout");

Rede social LOADINGGraph graph = null; try {

graph = new GraphMLReader().readGraph("/socialnet.xml"); } catch ( DataIOException e )

{ e.printStackTrace(); System.err.println("Error

loading graph. Exiting..."); System.exit(1);

}

Rede social VISUALIZAÇÃO

Visualization vis = new Visualization(); vis.add("graph", graph);

Rede social RENDERS

//set o nome em cada nóLabelRenderer r = new LabelRenderer("name");

r.setRoundedCorner(8, 8);

// cria um render factory//inclui EdgeItemsvis.setRendererFactory(new DefaultRendererFactory(r));

Rede social Processando Actions

int[] palette = new int[] { ColorLib.rgb(255,180,180), ColorLib.rgb(190,190,255) };

DataColorAction fill = new DataColorAction("graph.nodes", "gender", Constants.NOMINAL, VisualItem.FILLCOLOR, palette);

Rede social Processando Actions

ColorAction text = new ColorAction("graph.nodes", VisualItem.TEXTCOLOR, ColorLib.gray(0));

ColorAction edges = new ColorAction("graph.edges", VisualItem.STROKECOLOR, ColorLib.gray(200));

ActionList color = new ActionList(); color.add(fill); color.add(text); color.add(edges);

Rede social Display e controles interativos

Display d = new Display(vis);

d.setSize(720, 500);

d.addControlListener(new DragControl());d.addControlListener(new PanControl()); d.addControlListener(new ZoomControl());

Rede social Carregando a vizualização

JFrame frame = new JFrame("prefuse example");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(d);frame.pack(); frame.setVisible(true); vis.run("color");vis.run("layout");

top related