Spaces:
Build error
Build error
import gradio as gr | |
import pandas as pd | |
from math import ceil | |
from gradio_function import player_df, jp_pitch_to_en_pitch, get_data | |
from translate import max_pitch_types | |
with gr.Blocks(fill_height=True) as demo: | |
gr.Markdown(''' | |
# NPB data visualization demo | |
[Data from SportsNavi](https://sports.yahoo.co.jp/) | |
''') | |
player = gr.Dropdown(choices=sorted(player_df['name'].dropna().tolist()), label='Player') | |
player_info = gr.Markdown() | |
gr.Markdown('## Pitch Distribution') | |
usage = gr.Plot(label='Pitch Distribution') | |
max_pitch_maps = len(jp_pitch_to_en_pitch) | |
pitch_maps_per_row = 3 | |
max_rows = ceil(max_pitch_maps/pitch_maps_per_row) | |
gr.Markdown('## Pitch Locations') | |
pitch_names = [] | |
pitch_infos = [] | |
pitch_maps = [] | |
# default_pitch_info = [ | |
# ('Whiff%', None), | |
# ('CSW%', None) | |
# ] | |
for row in range(max_rows): | |
with gr.Row(): | |
_pitch_maps_per_row = pitch_maps_per_row if row < max_rows-1 else max_pitch_maps % pitch_maps_per_row | |
for col in range(_pitch_maps_per_row): | |
with gr.Column(): | |
pitch_names.append(gr.Markdown(f'### Pitch {col+1}', visible=(row==0))) | |
pitch_infos.append(gr.DataFrame(pd.DataFrame([{'Whiff%': None, 'CSW%': None}]), interactive=False, visible=(row==0))) | |
# pitch_infos.append(gr.DataFrame(default_pitch_info, headers=None, visible=(row==0))) | |
pitch_maps.append(gr.Plot(label='Pitch location', visible=(row==0))) | |
gr.Markdown('## Bugs and other notes') | |
with gr.Accordion('Click to open', open=False): | |
gr.Markdown(''' | |
- The bottommost level of the pitch heat maps are not transparent even though they should be. Works on Google Colab but not when I put everything in a `.py` file it doesn't work. | |
- CSW% has not been verified | |
''' | |
) | |
player.input(get_data, inputs=player, outputs=[player_info, usage, *pitch_names, *pitch_infos, *pitch_maps]) | |
demo.launch( | |
share=True | |
) | |