prakharg24 commited on
Commit
d9ec769
·
verified ·
1 Parent(s): 502d412

Update my_pages/multiverse.py

Browse files
Files changed (1) hide show
  1. my_pages/multiverse.py +23 -2
my_pages/multiverse.py CHANGED
@@ -54,7 +54,7 @@ def build_tree_and_trace_path(selected_path, spread_factor=500):
54
  next_nodes = []
55
 
56
  # scaling: huge spread at stage 1, tapering off deeper
57
- scale = spread_factor ** (1.0 / stage_idx)
58
 
59
  for parent_order, parent_idx in enumerate(prev_nodes):
60
  px, py = node_positions[parent_idx]
@@ -162,8 +162,29 @@ def render():
162
  hoverinfo='none'
163
  ))
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  # --- Render figure ---
166
- fig = go.Figure(data=edge_traces + [node_trace])
 
167
  fig.update_layout(
168
  showlegend=False,
169
  xaxis=dict(visible=False),
 
54
  next_nodes = []
55
 
56
  # scaling: huge spread at stage 1, tapering off deeper
57
+ scale = spread_factor ** (1.0 / stage_idx**(0.5))
58
 
59
  for parent_order, parent_idx in enumerate(prev_nodes):
60
  px, py = node_positions[parent_idx]
 
162
  hoverinfo='none'
163
  ))
164
 
165
+ # --- Add stage labels at the top of each layer ---
166
+ stage_label_traces = []
167
+ for stage_idx, stage in enumerate(choices_list, start=1):
168
+ # all nodes in this stage
169
+ stage_nodes = [i for i, s in enumerate(range(len(positions))) if i < len(node_stage) and node_stage[i] == stage_idx]
170
+ if not stage_nodes:
171
+ continue
172
+ # find vertical max position among this stage's nodes
173
+ max_y = max(positions[i][1] for i in stage_nodes)
174
+ x = float(stage_idx)
175
+ y = max_y + 0.2 * spread_factor # small offset above top node
176
+ stage_label_traces.append(go.Scatter(
177
+ x=[x], y=[y],
178
+ text=[stage["label"]],
179
+ mode="text",
180
+ textfont=dict(size=16, color="white"),
181
+ hoverinfo="none",
182
+ showlegend=False
183
+ ))
184
+
185
  # --- Render figure ---
186
+ # fig = go.Figure(data=edge_traces + [node_trace])
187
+ fig = go.Figure(data=edge_traces + stage_label_traces + [node_trace])
188
  fig.update_layout(
189
  showlegend=False,
190
  xaxis=dict(visible=False),