donb-hf commited on
Commit
0905706
Β·
verified Β·
1 Parent(s): 3f94694

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -27
app.py CHANGED
@@ -75,60 +75,54 @@ def create_plotly_graph(graph: nx.DiGraph) -> go.Figure:
75
  edge_x.extend([x0, x1, None])
76
  edge_y.extend([y0, y1, None])
77
 
78
- # Create edge trace
79
  edge_trace = go.Scatter(
80
  x=edge_x,
81
  y=edge_y,
82
- line=dict(width=0.5, color='#888'),
83
  hoverinfo='none',
84
- mode='lines'
 
85
  )
86
 
87
- # Node trace initialization
88
  node_x, node_y, node_text, node_color = [], [], [], []
89
 
90
  for node in graph.nodes():
91
  x, y = pos[node]
92
  node_x.append(x)
93
  node_y.append(y)
94
- node_text.append(node)
 
 
95
  node_color.append(color_map[graph.nodes[node]['type']])
96
 
97
- # Setting hover texts for each node
98
- node_adjacencies = []
99
- node_hover_texts = []
100
- for node, adjacencies in enumerate(graph.adjacency()):
101
- node_adjacencies.append(len(adjacencies[1]))
102
- node_info = list(graph.nodes())[node]
103
- node_data = graph.nodes[node_info]
104
- hover_text = f"Node: {node_info}<br>Type: {node_data['type']}<br>{node_data.get('description', '')}"
105
- node_hover_texts.append(hover_text)
106
-
107
- # Create node trace
108
  node_trace = go.Scatter(
109
  x=node_x,
110
  y=node_y,
111
- text=node_hover_texts,
112
- mode='markers+text',
113
  hoverinfo='text',
114
  marker=dict(
115
- showscale=False,
116
- colorscale='YlGnBu',
117
  reversescale=True,
118
- color=node_adjacencies,
119
- size=10,
120
  line_width=2
121
- )
 
122
  )
123
 
124
- # Create the figure and add traces
125
  fig = go.Figure()
126
  fig.add_trace(edge_trace)
127
  fig.add_trace(node_trace)
128
  fig.update_layout(
129
  title='Your Educational Landscape',
130
- titlefont_size=16,
131
- showlegend=False,
132
  hovermode='closest',
133
  margin=dict(b=20, l=5, r=5, t=40),
134
  annotations=[dict(
@@ -138,7 +132,8 @@ def create_plotly_graph(graph: nx.DiGraph) -> go.Figure:
138
  x=0.005, y=-0.002
139
  )],
140
  xaxis=dict(showgrid=False, zeroline=False, showticklabels=False),
141
- yaxis=dict(showgrid=False, zeroline=False, showticklabels=False)
 
142
  )
143
 
144
  return fig
 
75
  edge_x.extend([x0, x1, None])
76
  edge_y.extend([y0, y1, None])
77
 
78
+ # Create edge trace with improved style
79
  edge_trace = go.Scatter(
80
  x=edge_x,
81
  y=edge_y,
82
+ line=dict(width=1.0, color='#888'),
83
  hoverinfo='none',
84
+ mode='lines',
85
+ name="Edges"
86
  )
87
 
88
+ # Node trace initialization with improved style
89
  node_x, node_y, node_text, node_color = [], [], [], []
90
 
91
  for node in graph.nodes():
92
  x, y = pos[node]
93
  node_x.append(x)
94
  node_y.append(y)
95
+ node_text.append(
96
+ f"Node: {node}<br>Type: {graph.nodes[node]['type']}<br>{graph.nodes[node].get('description', '')}"
97
+ )
98
  node_color.append(color_map[graph.nodes[node]['type']])
99
 
100
+ # Create node trace for hover interactivity
 
 
 
 
 
 
 
 
 
 
101
  node_trace = go.Scatter(
102
  x=node_x,
103
  y=node_y,
104
+ text=node_text,
105
+ mode='markers', # Changed from 'markers+text' to 'markers' for hover only
106
  hoverinfo='text',
107
  marker=dict(
108
+ showscale=True,
109
+ colorscale='Viridis', # Updated to 'Viridis' for a more vibrant color scheme
110
  reversescale=True,
111
+ color=node_color,
112
+ size=15, # Increased size for better visibility
113
  line_width=2
114
+ ),
115
+ name="Nodes"
116
  )
117
 
118
+ # Create the figure and add traces with improved layout and style
119
  fig = go.Figure()
120
  fig.add_trace(edge_trace)
121
  fig.add_trace(node_trace)
122
  fig.update_layout(
123
  title='Your Educational Landscape',
124
+ titlefont_size=20,
125
+ showlegend=True, # Show legend
126
  hovermode='closest',
127
  margin=dict(b=20, l=5, r=5, t=40),
128
  annotations=[dict(
 
132
  x=0.005, y=-0.002
133
  )],
134
  xaxis=dict(showgrid=False, zeroline=False, showticklabels=False),
135
+ yaxis=dict(showgrid=False, zeroline=False, showticklabels=False),
136
+ plot_bgcolor='rgba(240, 240, 240, 0.95)' # Set a light background for better contrast
137
  )
138
 
139
  return fig