Spaces:
Sleeping
Sleeping
import pandas as pd | |
import gradio as gr | |
URL = "https://docs.google.com/spreadsheets/d/1qFJ7N4yubNyq7BBvLiNFcgpyWFV66wDGCa48axGNp_c/edit?usp=sharing" | |
csv_url = URL.replace('/edit?usp=', '/export?format=csv&usp=') | |
def get_data(): | |
df = pd.read_csv(csv_url) | |
df['Tweet Volume'] = df['Tweet Volume'].str[:-1] | |
df['Tweet Volume'] = df['Tweet Volume'].transform( lambda x: x[-2:] if 'Under' in x else x) | |
df['Trending Topic / Hashtag'] = df['Trending Topic / Hashtag'].transform( lambda x: x.split()[0]) | |
df["Tweet Volume"] = pd.to_numeric(df["Tweet Volume"]) | |
df = df.sort_values(by=['Tweet Volume'], ascending=False) | |
return df[["Trending Topic / Hashtag", "Tweet Volume"]][:15] | |
with gr.Blocks() as demo: | |
gr.Markdown("# π Twitter Trends - United States using Real-Time Line and Scatter Plot") | |
gr.Markdown("Following are the current top twitter trending topics in United States, Trends last updated every 30 minutes !") | |
with gr.Row(): | |
gr.LinePlot(get_data, x="Trending Topic / Hashtag", y="Tweet Volume", tooltip=["Trending Topic / Hashtag","Tweet Volume"] , every=5, overlay_point=True, width=500, height=500, title='Real-Time Line Plot') | |
gr.ScatterPlot(get_data, y="Tweet Volume", x="Trending Topic / Hashtag", tooltip=["Trending Topic / Hashtag","Tweet Volume"] , every=5, width=500, height=500, title='Real-Time Scatter Plot') | |
with gr.Row(): | |
gr.DataFrame(get_data, every=5) | |
demo.queue().launch() # Run the demo with queuing enabled |