remodify
Browse files
app.py
CHANGED
@@ -149,12 +149,6 @@ with gr.Blocks(title="India Growth Metrics Dashboard", theme=gr.themes.Soft()) a
|
|
149 |
value=metrics[0],
|
150 |
label="Select Metric"
|
151 |
)
|
152 |
-
|
153 |
-
time_series_city = gr.Dropdown(
|
154 |
-
choices=list(cities),
|
155 |
-
value=cities[0],
|
156 |
-
label="Select City for Time Series"
|
157 |
-
)
|
158 |
|
159 |
with gr.Row():
|
160 |
with gr.Column(scale=1):
|
@@ -189,47 +183,40 @@ with gr.Blocks(title="India Growth Metrics Dashboard", theme=gr.themes.Soft()) a
|
|
189 |
twin_cities = gr.Markdown(label="Twin Cities")
|
190 |
|
191 |
# Event handlers
|
192 |
-
def
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
)
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
def update_all_charts(cities, metric, ts_city):
|
206 |
-
bar_fig, radar_fig, corr_fig, cluster_fig, ai_md, twin_md = update_charts(cities, metric)
|
207 |
-
ts_fig = update_time_series(metric, ts_city)
|
208 |
return bar_fig, radar_fig, corr_fig, cluster_fig, ts_fig, ai_md, twin_md
|
209 |
-
|
|
|
|
|
|
|
210 |
# Connect inputs to outputs
|
211 |
city_selector.change(
|
212 |
-
fn=
|
213 |
inputs=[city_selector, metric_selector],
|
214 |
-
outputs=
|
215 |
)
|
216 |
|
217 |
metric_selector.change(
|
218 |
-
fn=
|
219 |
-
inputs=[city_selector, metric_selector
|
220 |
-
outputs=
|
221 |
-
)
|
222 |
-
|
223 |
-
time_series_city.change(
|
224 |
-
fn=update_time_series,
|
225 |
-
inputs=[metric_selector, time_series_city],
|
226 |
-
outputs=[time_series]
|
227 |
)
|
228 |
|
229 |
demo.load(
|
230 |
-
fn=
|
231 |
-
inputs=[city_selector, metric_selector
|
232 |
-
outputs=
|
233 |
)
|
234 |
|
235 |
# Launch the app
|
|
|
149 |
value=metrics[0],
|
150 |
label="Select Metric"
|
151 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
with gr.Row():
|
154 |
with gr.Column(scale=1):
|
|
|
183 |
twin_cities = gr.Markdown(label="Twin Cities")
|
184 |
|
185 |
# Event handlers
|
186 |
+
def update_all_outputs(selected_cities, selected_metric):
|
187 |
+
# Time series uses the first selected city
|
188 |
+
time_series_city = selected_cities[0] if selected_cities else None
|
189 |
+
|
190 |
+
bar_fig = create_bar_chart(selected_cities, selected_metric)
|
191 |
+
radar_fig = create_radar_chart(selected_cities)
|
192 |
+
corr_fig = create_correlation_matrix(selected_cities)
|
193 |
+
cluster_fig = create_cluster_view(selected_metric)
|
194 |
+
ai_md = generate_ai_insights(selected_cities)
|
195 |
+
twin_md = find_twin_cities(selected_cities)
|
196 |
+
ts_fig = create_time_series(selected_metric, time_series_city)
|
197 |
+
|
|
|
|
|
|
|
|
|
198 |
return bar_fig, radar_fig, corr_fig, cluster_fig, ts_fig, ai_md, twin_md
|
199 |
+
|
200 |
+
# A list of all outputs for convenience
|
201 |
+
all_outputs = [bar_chart, radar_chart, correlation_matrix, cluster_view, time_series, ai_insights, twin_cities]
|
202 |
+
|
203 |
# Connect inputs to outputs
|
204 |
city_selector.change(
|
205 |
+
fn=update_all_outputs,
|
206 |
inputs=[city_selector, metric_selector],
|
207 |
+
outputs=all_outputs
|
208 |
)
|
209 |
|
210 |
metric_selector.change(
|
211 |
+
fn=update_all_outputs,
|
212 |
+
inputs=[city_selector, metric_selector],
|
213 |
+
outputs=all_outputs
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
)
|
215 |
|
216 |
demo.load(
|
217 |
+
fn=update_all_outputs,
|
218 |
+
inputs=[city_selector, metric_selector],
|
219 |
+
outputs=all_outputs
|
220 |
)
|
221 |
|
222 |
# Launch the app
|