| import gradio as gr | |
| from data import df # type: ignore | |
| with gr.Blocks() as demo: | |
| plt = gr.LinePlot(df, x="weight", y="height") | |
| selection_total = gr.Number(label="Total Weight of Selection") | |
| def select_region(selection: gr.SelectData): | |
| min_w, max_w = selection.index | |
| return df[(df["weight"] >= min_w) & (df["weight"] <= max_w)]["weight"].sum() | |
| plt.select(select_region, None, selection_total) | |
| if __name__ == "__main__": | |
| demo.launch() |