LeonceNsh commited on
Commit
e830460
·
verified ·
1 Parent(s): 61b9f4e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -8
app.py CHANGED
@@ -144,23 +144,24 @@ def generate_graph(investors, filtered_data):
144
  )
145
 
146
  node_x, node_y, node_text = [], [], []
147
- node_color, node_size, node_hovertext = [], [], []
148
 
149
  for node in G.nodes():
150
  x, y = pos[node]
151
  node_x.append(x)
152
  node_y.append(y)
153
  if node in investors:
154
- node_text.append("") # Remove investor labels
155
  node_color.append(investor_color_map[node])
156
  node_size.append(30)
157
  node_hovertext.append(f"Investor: {node}")
 
158
  else:
159
  valuation = filtered_data.loc[filtered_data["Company"] == node, "Valuation_Billions"].values
160
  industry = filtered_data.loc[filtered_data["Company"] == node, "Industry"].values
161
  size = valuation[0] * 5 if len(valuation) > 0 and not pd.isnull(valuation[0]) else 15
162
  node_size.append(max(size, 10))
163
- node_text.append("") # No text label for companies
164
  node_color.append("#a6d854")
165
  hovertext = f"Company: {node}"
166
  if len(industry) > 0 and not pd.isnull(industry[0]):
@@ -168,14 +169,17 @@ def generate_graph(investors, filtered_data):
168
  if len(valuation) > 0 and not pd.isnull(valuation[0]):
169
  hovertext += f"<br>Valuation: ${valuation[0]:.2f}B"
170
  node_hovertext.append(hovertext)
 
171
 
172
  node_trace = go.Scatter(
173
  x=node_x,
174
  y=node_y,
175
  text=node_text,
176
- mode='markers',
 
177
  hoverinfo='text',
178
  hovertext=node_hovertext,
 
179
  marker=dict(
180
  showscale=False,
181
  size=node_size,
@@ -197,8 +201,8 @@ def generate_graph(investors, filtered_data):
197
  width=1200,
198
  height=800,
199
  autosize=True,
200
- xaxis={'showgrid': False, 'zeroline': False, 'visible': False},
201
- yaxis={'showgrid': False, 'zeroline': False, 'visible': False},
202
  showlegend=False, # Hide the legend to maximize space
203
  annotations=[
204
  dict(
@@ -214,8 +218,10 @@ def generate_graph(investors, filtered_data):
214
  # Gradio app
215
  def app(selected_country, selected_industry, selected_company, selected_investors,
216
  exclude_countries, exclude_industries, exclude_companies, exclude_investors):
217
- investors, filtered_data = filter_investors(selected_country, selected_industry, selected_investors, selected_company,
218
- exclude_countries, exclude_industries, exclude_companies, exclude_investors)
 
 
219
  if not investors:
220
  return go.Figure()
221
  graph = generate_graph(investors, filtered_data)
 
144
  )
145
 
146
  node_x, node_y, node_text = [], [], []
147
+ node_color, node_size, node_hovertext, node_textposition = [], [], [], []
148
 
149
  for node in G.nodes():
150
  x, y = pos[node]
151
  node_x.append(x)
152
  node_y.append(y)
153
  if node in investors:
154
+ node_text.append(node) # Add investor labels
155
  node_color.append(investor_color_map[node])
156
  node_size.append(30)
157
  node_hovertext.append(f"Investor: {node}")
158
+ node_textposition.append('top center')
159
  else:
160
  valuation = filtered_data.loc[filtered_data["Company"] == node, "Valuation_Billions"].values
161
  industry = filtered_data.loc[filtered_data["Company"] == node, "Industry"].values
162
  size = valuation[0] * 5 if len(valuation) > 0 and not pd.isnull(valuation[0]) else 15
163
  node_size.append(max(size, 10))
164
+ node_text.append(node) # Add company labels
165
  node_color.append("#a6d854")
166
  hovertext = f"Company: {node}"
167
  if len(industry) > 0 and not pd.isnull(industry[0]):
 
169
  if len(valuation) > 0 and not pd.isnull(valuation[0]):
170
  hovertext += f"<br>Valuation: ${valuation[0]:.2f}B"
171
  node_hovertext.append(hovertext)
172
+ node_textposition.append('bottom center')
173
 
174
  node_trace = go.Scatter(
175
  x=node_x,
176
  y=node_y,
177
  text=node_text,
178
+ textposition=node_textposition,
179
+ mode='markers+text',
180
  hoverinfo='text',
181
  hovertext=node_hovertext,
182
+ textfont=dict(size=10), # Adjust label font size
183
  marker=dict(
184
  showscale=False,
185
  size=node_size,
 
201
  width=1200,
202
  height=800,
203
  autosize=True,
204
+ xaxis=dict(showgrid=False, zeroline=False, visible=False),
205
+ yaxis=dict(showgrid=False, zeroline=False, visible=False),
206
  showlegend=False, # Hide the legend to maximize space
207
  annotations=[
208
  dict(
 
218
  # Gradio app
219
  def app(selected_country, selected_industry, selected_company, selected_investors,
220
  exclude_countries, exclude_industries, exclude_companies, exclude_investors):
221
+ investors, filtered_data = filter_investors(
222
+ selected_country, selected_industry, selected_investors, selected_company,
223
+ exclude_countries, exclude_industries, exclude_companies, exclude_investors
224
+ )
225
  if not investors:
226
  return go.Figure()
227
  graph = generate_graph(investors, filtered_data)