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.