Como criar grafos em Java

Como criar grafos em Java

Nesse post vamos falar um pouco como podemos criar Grafos em Java. Antes de mais nada, precisamos deixar algumas coisas claras, não existe uma linguagem ruim ou boa, simplesmente linguagens diferentes. Qualquer linguagem que você escolha trabalhar será mais adequada para alguma função específica.

Por exemplo, é fácil associar o PHP com a web, no entanto, o que impede você de codificar ferramentas de Inteligência Artificial nela? A reposta é: a comunidade.

Querendo ou não você sempre depende da comunidade para desenvolver suas ferramentas. Isso acontece, por que, atualmente ninguém programa sozinho. Sempre existem frameworks, ferramentas, trechos de código, etc. Portanto, hoje vamos criar uma visualização de grafos usando o JAVA. Essa tarefa é geralmente feita usando Python, porém, o Java tem suporte a essa funcionalidade e vamos mostrar como criar um exemplo simples.

Vamos começar pelo começo! configurando seu ambiente.

Baixando os recursos

Primeiramente você precisará fazer download dos arquivos JAR. Esses arquivos permitirão você criar essas visualizações. A biblioteca usada será o GraphStream.  

Acesse a documentação Download

Codificando

Agora devemos instanciar a classe que representa nosso grafo:  

 Graph graph = new SingleGraph("Tutorial 1");

  A criação de um grafo precisa no mínimo de um nó. Portanto, uma das primeiras tarefas que devemos executar é a criação dos nós que vamos utilizar.    

graph.addNode("A");  
graph.addNode("B");  
graph.addNode("C");  
graph.addNode("D");        

O próximo passo é adicionar vértices ao nosso grafo. Esses vértices são linhas que ligam um nó ao outro:  

graph.addEdge("AB", "A", "B"); 
graph.addEdge("BC", "B", "C"); 
graph.addEdge("CA", "C", "A"); 
graph.addEdge("AD", "A", "D"); 
graph.addEdge("BD", "B", "D"); 

É possível ainda utilizar uma folha de CSS para formatar o estilo do seu grafo:  

graph.addAttribute("ui.stylesheet", "url('\"path to project"\GraphCSS.css')");         

Ou ainda podemos especificar um estilo para um nó específico:  

Node n = graph.getNode("A"); n.addAttribute("ui.style", "shape:circle;");   

Por fim, exiba o grafo:  

graph.display();   

O resultado final fica assim:

Grafo feito em Java

4- Código completo

import org.graphstream.graph.Graph; 
import org.graphstream.graph.Node; 
import org.graphstream.graph.implementations.SingleGraph;   
public class GrafoDeErrosExample {
       public static void main(String[] args) {
         System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
         Graph graph = new SingleGraph("Tutorial 1");                                       
         graph.addNode("A");
         graph.addNode("B");
         graph.addNode("C");
         graph.addNode("D");
         graph.addEdge("AB", "A", "B");
         graph.addEdge("BC", "B", "C");
         graph.addEdge("CA", "C", "A");
         graph.addEdge("AD", "A", "D");
         graph.addEdge("BD", "B", "D");
         graph.addAttribute("ui.stylesheet", "url('C:\Users\Vinicius\Desktop\Adriana java\GrafoDeErros\src\grafodeerros\GraphCSS.css')");
         Node n = graph.getNode("A");
         n.addAttribute("ui.style", "shape:circle;");
         graph.display();
      }
}    

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta