import pandas as pd import gradio as gr import gc import plotly.express as px def plot_rolling_average_dune( daa_df: pd.DataFrame, ) -> gr.Plot: """Function to plot the rolling average of daily active agents""" fig = px.bar( daa_df, x="tx_date", y="seven_day_trailing_avg", ) fig.update_layout( xaxis_title="Date", yaxis_title="7-day rolling average of DAA", ) return gr.Plot( value=fig, ) def plot_rolling_average_roi(two_weeks_avg_roi_pearl_agents: pd.DataFrame) -> gr.Plot: """Function to plot the 2-weeks rolling average ROI for pearl agents""" print("Rolling average ROI DataFrame:") print(two_weeks_avg_roi_pearl_agents.head()) fig2 = px.line( two_weeks_avg_roi_pearl_agents, x="creation_date", y="two_weeks_avg_roi", color_discrete_sequence=["#9C27B0"], ) fig2.update_layout( xaxis_title="Week", yaxis_title="2-week rolling average ROI of pearl agents", ) return gr.Plot( value=fig2, ) def plot_weekly_average_roi(weekly_avg_roi_df: pd.DataFrame) -> gr.Plot: """Function to plot the weekly average of ROI for pearl agents""" print("Weekly average ROI DataFrame:") print(weekly_avg_roi_df.head()) # Update the plot to use the correct column name 'weekly_avg_roi' fig = px.line( weekly_avg_roi_df, x="week_start", y="avg_weekly_roi", # Changed from 'roi' to 'weekly_avg_roi' ) fig.update_layout( xaxis_title="Week", yaxis_title="Weekly average ROI for pearl agents", ) return gr.Plot( value=fig, )