import networkx as nx import plotly.graph_objects as go # Create a graph using NetworkX G = nx.Graph() G.add_edge("a", "b", weight=0.6) G.add_edge("a", "c", weight=0.2) G.add_edge("c", "d", weight=0.1) G.add_edge("c", "e", weight=0.7) G.add_edge("c", "f", weight=0.9) G.add_edge("a", "d", weight=0.3) # Generate positions for the nodes pos = nx.spring_layout(G) # Create a Plotly figure fig = go.Figure() # Add edges to the figure for u, v, data in G.edges(data=True): x0, y0 = pos[u] x1, y1 = pos[v] fig.add_trace(go.Scatter(x=[x0, x1], y=[y0, y1], mode='lines', line=dict(width=data['weight'] * 5, color='gray'))) # Add nodes to the figure for node in G.nodes(): x, y = pos[node] fig.add_trace(go.Scatter(x=[x], y=[y], mode='markers', marker=dict(size=10))) # Show the figure fig.show()