trader_agents_performance / tabs /agent_graphs.py
cyberosa
fixing bug in graph
9804ae2
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,
)