Igraph - começando a utilizar a ferramenta para manipular grafos

O que é?

O Igraph é uma coleção de bibliotecas para criar e manipular gráficos e analisar redes. Está escrito em C e também existe como pacotes Python e R. Existe além disso uma interface para o Mathematica . O software é amplamente utilizado em pesquisas acadêmicas em ciência de redes e áreas afins. A publicação que introduz o software tem 1268 citações em 5 de junho de 2015 de acordo com o google scholar . O igraph foi desenvolvido por Gábor Csárdi e Tamás Nepusz. O código fonte dos pacotes igraph foi escrito em C. igraph está disponível gratuitamente sob a GNU General Public License Version 2.

Resumindo, se você quer manipular grafos e visualiza-los o igraph é uma excelente ferramenta e pode te ajudar muito em seus projetos.

Getting Started

A primeira coisa que gostaria de abordar nesse tutorial é a instalação, pessoalmente tive alguns problemas com algumas dependências e gostaria de compartilhar um passo a passo que pode ser util pra você. 

Primeiramente eu estou utilizando Windows 10 64 bits, ou seja, se você é usuário linux talvez você não tenha os mesmos problemas. 

O primeiro passo é instalar o igraph para python com o comando:

pip install python-igraph

uma dependência do igraph é o cairo, sendo assim, você precisará fazer download dela:

pip install pycairo

Caso você utilize o Anaconda (que recomendo muito mesmo) você pode executar os comandos:

conda install -c vtraag python-igraph

conda install -c anaconda cairo

Após ter instalado essas bibliotecas você poderá abrir seu editor de texto Python preferido e começar a diversão.

Criando o "hello grafo"

O primeiro grafo é importantíssimo para simplesmente testar seu ambiente e também compreender como é a sintaxe básica para construção de grafos. Sendo assim, em um arquivo Python digite o seguinte código:

from igraph import *

g = Graph()
g.add_vertices(4)
g.add_edges([(1,2),(2,3),(0,3)])
plot(g)

Ao executar esse grafo teremos o seguinte resultado:


Adicionando labels aos vértices do grafo

Cada grafo tem suas especificidades, vale a pena olhar a documentação e ver como cada função pode alterar características do grafo. No exemplo a seguir, definimos um grafo e logo após colocamos os nós com a cor branca e adicionamos Labels a esse grafo. 

g = Graph() 
g.add_vertices(4) 
g.add_edges([(1,2),(2,3),(0,3)]) 
plot(g, vertex_label=["A", "B", "C", "D"], vertex_color="white")


Adicionando peso aos relacionamentos do grafo

O ultimo exemplo é realizando a adição de pesos nas linhas do grafo. Isso pode demonstrar o peso das ligações entre os nós.

eG=Graph(directed=False)
eG.add_vertices(6)
eG.add_edges([(0,1),(1,2),(2,3),(3,4),(3,5),(5,3)])
eG.es['weight']=[12,1,2,3,4,1]

layout = eG.layout("kk")

visual_style = {}
visual_style["vertex_size"] = 20
visual_style["vertex_label"] = ["a","b","c","d","e","f"]
visual_style["edge_width"] = eG.es['weight']
visual_style["bbox"] = (300, 300)


plot(eG, **visual_style)



Igraph - começando a utilizar a ferramenta para manipular grafos Igraph - começando a utilizar a ferramenta para manipular grafos Reviewed by Vinicius dos Santos on 17:04:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!