Unable to plot the graph, while using igraph python module

252 Views Asked by At

I was trying to plot the graph using igraph, I gave me error --->

AttributeError: Plotting not available; please install pycairo or cairocffi

I have installed all the requirements as mentioned but still getting the same error.

 #tring with igraph 
from igraph import Graph
import igraph as ig
import cairocffi as cairo

g=Graph()
vertex_ids = set(df1['id'])  # Assuming `df` is your DataFrame
g.add_vertices(list(vertex_ids))
for row in df1.itertuples():
    if pd.notnull(row.parent_id):
        g.add_edge(row.parent_id, row.id)
g.vs['label'] = df1['label'].tolist()
g.vs['color'] = 'lightblue'  # Set color for vertices
g.vs['size'] = 20  # Set size for vertices
layout = g.layout_auto()  # Choose a layout algorithm
g.vs['label_dist'] = 1  # Adjust label distance
g.vs['label_angle'] = 0  # Adjust label angle

# g.plot(layout=layout, vertex_color=g.vs['color'], vertex_size=g.vs['size'], vertex_label=g.vs['label'], edge_width=1, edge_color='gray')
ig.plot(g,layout=layout, vertex_color=g.vs['color'], vertex_size=g.vs['size'], vertex_label=g.vs['label'], edge_width=1, edge_color='gray')

Complete Error Message

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-62-6dc99858d0e9> in <cell line: 20>()
     18 
     19 # g.plot(layout=layout, vertex_color=g.vs['color'], vertex_size=g.vs['size'], vertex_label=g.vs['label'], edge_width=1, edge_color='gray')
---> 20 plot(g,layout=layout, vertex_color=g.vs['color'], vertex_size=g.vs['size'], vertex_label=g.vs['label'], edge_width=1, edge_color='gray')

2 frames
/usr/local/lib/python3.10/dist-packages/igraph/drawing/utils.py in __getattr__(self, _)
    426 
    427     def __getattr__(self, _):
--> 428         raise AttributeError(self._message)
    429 
    430     def __call__(self, _):

AttributeError: Plotting not available; please install pycairo or cairocffi

If someone know, what's the reason behind it, please let me know.

0

There are 0 best solutions below