Quais algoritmos são bons para / realtime gráfico em desenho interativo?
-
19-08-2019 - |
Pergunta
O que os algoritmos são bons para / interativo em tempo real gráfico de desenho para dados ao vivo e-manipulação direta?
Na falta deste - que as bibliotecas que você usa para desenhar gráficos?
sugestões;
- Prefuse informações-visualização kit de ferramentas
- quaisquer outros?
BTW- I gráficos dizer no sentido-teoria dos grafos - pontos e linhas
- qualquer idioma
- por viver Quero dizer o gráfico deve ser manipulável uma vez na tela.
Solução
Eu recomendaria qualquer biblioteca que Jeff Heer já trabalhou em:
Eu acredito que todos os três projetos são de código aberto. Jeff Heer é muito bom em referência a documentos em seu código, pelo menos na biblioteca Prefuse. Olhando para a fonte Prefuse:
BalloonTreeLayout : O algoritmo utilizado é o de G. Melançon e I. Herman de seu trabalho de pesquisa circulares Desenhos de árvores enraizadas, Relatórios do Centro de Matemática e Ciências da Computação, Relatório Número INS-9817 de 1998.
ForceDirectedLayout.java :. Nenhuma referência mencionado, mas há grande quantidade de comentários descrevendo como funciona
FruchtermanReingoldLayout.java : referências Jung . Em seu site, encontrei um papel que tem referências a vários algoritmos
NodeLinkTreeLayout.java : O algoritmo utilizado é o de Christoph Buchheim, Michael Jünger, e Sebastian Leipert de seu trabalho de pesquisa Melhorar o algoritmo de Walker para ser executado em tempo linear , desenho Gráfico 2002. Este problemas de desempenho do algoritmo corrige em algoritmo do Walker, que generaliza o método de Reingold e Tilford para desenhos arrumado de árvores para suporte árvores com um número arbitrário de crianças em qualquer nó.
RadialTreeLayout.java : O algoritmo utilizado é o de Ka-Ping Yee, Danyel Fisher, Rachna Dhamija, e Marti Hearst em seu trabalho de pesquisa animadas Exploração de dinâmica radial Gráficos com esquema , InfoVis 2001. Este algoritmo calcula uma disposição radial de que factores em possível variação em tamanho, e mantém ambos orientação e as restrições de ordenação para facilitar e transições suaves compreensíveis entre as configurações de layout.
SquarifiedTreeMapLayout : Este algoritmo especial é tomada a partir Bruls, D.M., C. Huizing, e J.J. van Wijk, "Squarified Treemaps" Em Data Visualization 2000 Proceedings of the Eurographics Conjunta e IEEE TCVG Sumposium on Visualization de 2000, pp. 33-42. Disponível online em http://www.win.tue.nl/~vanwijk/stm .pdf. Para mais informações sobre TreeMaps em geral, consulte http://www.cs.umd.edu / hcil / treemap-história
Outras dicas
prefuse visualização Toolkit parece um bom candidato.
Prefuse suporta um conjunto rico de recursos para modelagem de dados, visualização, e interacção. isto proporciona estruturas de dados optimizados para tabelas, gráficos e árvores, uma série de técnicas de disposição e de codificação visual e suporte para animação, dinâmica consultas, pesquisa integrada e conectividade de banco de dados. prefuse é escrito em Java, utilizando o Java 2D biblioteca de gráficos, e é facilmente integrado em Java Swing aplicações ou applets web. prefuse está licenciado sob os termos de um BSD licenciar, e pode ser usado livremente para ambos comerciais e não-comerciais propósitos. (A partir da homepage)
desenho gráfico é um campo grande. Aqui está um link para um Gráfico do desenho da pesquisa web site da comunidade . Eles têm uma conferência anual especificamente sobre o desenho de gráfico. Eu também pode sugerir ler alguns dos Prof. Publicações de David Harel - uma de suas áreas de pesquisa é o desenho de gráfico, por exemplo, neste artigo . Este parece ser um problema difícil de resolver no caso geral. Talvez você pode limitar a sua aplicação a um subconjunto restrito de gráficos (grafos planares é provavelmente demasiado restritiva). Provavelmente gráficos simples com um pequeno conjunto de vértices deu manipulação mais fácil.
Há alguns papéis spiffy associados Graphviz . Em particular:
Eu uso a linguagem Dot para descrever gráficos. E, a saída do compilador Dot inclui SVG, que está em XML e pode ser incorporado em XHTML.
http://en.wikipedia.org/wiki/DOT_language
Não sei o que você está depois ...
Parece que talvez você estiver olhando para fazer algo semelhante para rrdtool?
Talvez haja algumas informações em seu site que vai ajudar:
Eu sou novo no stackflow assim não para o final reponse. Dependendo de como interativo você deseja obter ... você também pode want't para verificar Flot (usa JQuery, menos interativo), ou processamento ... mais interativo.