Conversation
These files are used for generating the model comparison Plots reported in Sim blogposts
|
|
||
| def plot_data(filename, calibration, autoregressive_n, y_column): | ||
| """ | ||
| Plots the data from the given CSV file. |
There was a problem hiding this comment.
a clear alternative is below
def _create_plot(df, calibration, autoregressive_n, y_column, title):
traces = generate_traces(df, calibration, autoregressive_n, y_column)
yaxis_title = (
"Predictoor Profit (OCEAN)"
if y_column == "pdr_profit_OCEAN"
else "Trader Profit (USD)"
)
fig = go.Figure(data=traces, layout=layout)
fig.update_layout(
title=f"{df['Model'].iloc[0]} - {title} - {y_column}",
yaxis_title=yaxis_title,
)
fig.show()
def plot_data(filename, calibration, autoregressive_n, y_column):
# Load data from CSV
df_without_eth, df_with_eth = load_data_from_csv(filename)
# Plot without ETH
title_without_eth = "Predictoor Profit Benchmarks (Trained with BTC-USDT Data)"
_create_plot(df_without_eth, calibration, autoregressive_n, y_column, title_without_eth)
# Plot with ETH
title_with_eth = "Predictoor Profit Benchmarks (Trained with BTC-USDT & ETH-USDT Data)"
_create_plot(df_with_eth, calibration, autoregressive_n, y_column, title_with_eth)
```
|
|
||
|
|
||
| def generate_traces(df, green_shades, y_column): | ||
| """ |
There was a problem hiding this comment.
It looks difficult to read. You might want to consider splitting this function.
| ) | ||
| temp_traces.append(trace) | ||
|
|
||
| traces.extend(reversed(temp_traces)) |
There was a problem hiding this comment.
In this function, you append everythink to the traces and temp_traces variables are created inside, you append everything into the temp_traces (good), then you extend the traces variable by reversing the the temp_traces but the traces variable is already empty.
Why don't we do like that?
I assumed we have _get_group_data and _create_trace functions, think it like a pseudo-code
traces = []
# Grouping the dataframe
grouped = df.groupby(["Model", "Calibration", "predictoor_ss.aimodel_data_ss.autoregressive_n"])
# Sorting the groups by the maximum y_column value in descending order
sorted_groups = (
grouped[y_column].max().reset_index().sort_values(by=y_column, ascending=False)
)
# Generating the traces
for _, row in sorted_groups.iterrows():
group_df = _get_group_data(grouped, row)
color = green_shades.pop(0) # Get the next available color
trace = _create_trace(group_df, row, color, y_column)
traces.append(trace)
return list(reversed(traces))
```
kdetry
left a comment
There was a problem hiding this comment.
I am not familiar with the context of this task, but I wanted to make some suggestions about the code.
My codes that I shared could have some syntax errors
Fixes #1332