There are several popular Python libraries available for visualizing graphs and networks. Two commonly used libraries are NetworkX and Graph-tool. Both libraries provide functionality to create and visualize graphs with nodes and edges.

NetworkX: NetworkX is a powerful library for working with graphs in Python. It provides a wide range of algorithms and functions for graph analysis, manipulation, and visualization. You can install NetworkX using pip:

pip install networkx

Here's a simple example of creating and visualizing a graph using NetworkX:

import networkx as nx

import matplotlib.pyplot as plt

# Create a graph

G = nx.Graph()

G.add_edges_from([(1, 2), (2, 3), (3, 4)])

# Draw the graph

nx.draw(G, with_labels=True)

plt.show()

Graph-tool: Graph-tool is another popular library for graph analysis and visualization. It provides efficient implementations of various graph algorithms and supports visualization through the Graphviz library. You can install graph-tool using Conda:

conda install -c conda-forge graph-tool

Here's an example of creating and visualizing a graph using graph-tool:

import graph_tool.all as gt

# Create a graph

g = gt.Graph()

v1 = g.add_vertex()

v2 = g.add_vertex()

v3 = g.add_vertex()

e1 = g.add_edge(v1, v2)

e2 = g.add_edge(v2, v3)

e3 = g.add_edge(v3, v1)

# Draw the graph

gt.graph_draw(g, vertex_text=g.vertex_index, vertex_font_size=18,

output_size=(200, 200), output="graph.png")

These are just two examples of Python libraries for graph visualization. Depending on your specific requirements, there are other libraries like PyGraphviz, igraph, and matplotlib that you might find useful.