cyberosa
commited on
Commit
·
6298cbe
1
Parent(s):
00d49a3
new daily graphs
Browse files- data/daily_info.parquet +2 -2
- tabs/daily_graphs.py +4 -0
- tabs/market_plots.py +12 -1
- tabs/trader_plots.py +23 -1
data/daily_info.parquet
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:aa46e26ddf79ae4565e8572d489d377884e071f20eb19ea3c8d99684c2c00548
|
3 |
+
size 611323
|
tabs/daily_graphs.py
CHANGED
@@ -121,6 +121,8 @@ def plot_daily_metrics(
|
|
121 |
trades_filtered["trader_market"] = trades_filtered.apply(
|
122 |
lambda x: (x["trader_type"], x["market_creator"]), axis=1
|
123 |
)
|
|
|
|
|
124 |
fig = px.box(
|
125 |
trades_filtered,
|
126 |
x="creation_date",
|
@@ -150,6 +152,8 @@ def plot_daily_metrics(
|
|
150 |
# if axis.startswith("xaxis"):
|
151 |
# fig.layout[axis].update(title="Day")
|
152 |
fig.update_xaxes(tickformat="%b %d")
|
|
|
|
|
153 |
return gr.Plot(
|
154 |
value=fig,
|
155 |
)
|
|
|
121 |
trades_filtered["trader_market"] = trades_filtered.apply(
|
122 |
lambda x: (x["trader_type"], x["market_creator"]), axis=1
|
123 |
)
|
124 |
+
|
125 |
+
all_dates = sorted(trades_filtered["creation_date"].unique())
|
126 |
fig = px.box(
|
127 |
trades_filtered,
|
128 |
x="creation_date",
|
|
|
152 |
# if axis.startswith("xaxis"):
|
153 |
# fig.layout[axis].update(title="Day")
|
154 |
fig.update_xaxes(tickformat="%b %d")
|
155 |
+
# Update layout to force x-axis category order (hotfix for a sorting issue)
|
156 |
+
fig.update_layout(xaxis={"categoryorder": "array", "categoryarray": all_dates})
|
157 |
return gr.Plot(
|
158 |
value=fig,
|
159 |
)
|
tabs/market_plots.py
CHANGED
@@ -6,6 +6,7 @@ from plotly.subplots import make_subplots
|
|
6 |
import matplotlib.pyplot as plt
|
7 |
import seaborn as sns
|
8 |
from tabs.daily_graphs import color_mapping
|
|
|
9 |
|
10 |
color_mapping = [
|
11 |
"darkviolet",
|
@@ -130,7 +131,15 @@ def plot_total_bet_amount_per_trader_per_market(
|
|
130 |
.sum()
|
131 |
.reset_index(name="total_bet_amount")
|
132 |
)
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
fig = px.box(
|
135 |
total_bet_amount,
|
136 |
x="month_year_week",
|
@@ -162,6 +171,8 @@ def plot_total_bet_amount_per_trader_per_market(
|
|
162 |
# if axis.startswith("xaxis"):
|
163 |
# fig.layout[axis].update(title="Week")
|
164 |
fig.update_xaxes(tickformat="%b %d\n%Y")
|
|
|
|
|
165 |
return gr.Plot(
|
166 |
value=fig,
|
167 |
)
|
|
|
6 |
import matplotlib.pyplot as plt
|
7 |
import seaborn as sns
|
8 |
from tabs.daily_graphs import color_mapping
|
9 |
+
from datetime import datetime
|
10 |
|
11 |
color_mapping = [
|
12 |
"darkviolet",
|
|
|
131 |
.sum()
|
132 |
.reset_index(name="total_bet_amount")
|
133 |
)
|
134 |
+
# Convert string dates to datetime and sort them
|
135 |
+
all_dates_dt = sorted(
|
136 |
+
[
|
137 |
+
datetime.strptime(date, "%b-%d")
|
138 |
+
for date in total_bet_amount["month_year_week"].unique()
|
139 |
+
]
|
140 |
+
)
|
141 |
+
# Convert back to string format
|
142 |
+
all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
|
143 |
fig = px.box(
|
144 |
total_bet_amount,
|
145 |
x="month_year_week",
|
|
|
171 |
# if axis.startswith("xaxis"):
|
172 |
# fig.layout[axis].update(title="Week")
|
173 |
fig.update_xaxes(tickformat="%b %d\n%Y")
|
174 |
+
# Update layout to force x-axis category order (hotfix for a sorting issue)
|
175 |
+
fig.update_layout(xaxis={"categoryorder": "array", "categoryarray": all_dates})
|
176 |
return gr.Plot(
|
177 |
value=fig,
|
178 |
)
|
tabs/trader_plots.py
CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
|
|
2 |
import pandas as pd
|
3 |
import plotly.express as px
|
4 |
from tabs.market_plots import color_mapping
|
|
|
5 |
|
6 |
trader_metric_choices = [
|
7 |
"mech calls",
|
@@ -80,7 +81,15 @@ def plot_trader_metrics_by_market_creator(
|
|
80 |
yaxis_title = "Total gross profit per trader (xDAI)"
|
81 |
|
82 |
traders_filtered = traders_df[["month_year_week", "market_creator", column_name]]
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
fig = px.box(
|
85 |
traders_filtered,
|
86 |
x="month_year_week",
|
@@ -96,6 +105,8 @@ def plot_trader_metrics_by_market_creator(
|
|
96 |
legend=dict(yanchor="top", y=0.5),
|
97 |
)
|
98 |
fig.update_xaxes(tickformat="%b %d\n%Y")
|
|
|
|
|
99 |
|
100 |
return gr.Plot(
|
101 |
value=fig,
|
@@ -198,6 +209,15 @@ def plot_total_bet_amount(
|
|
198 |
.sum()
|
199 |
.reset_index(name="total_bet_amount")
|
200 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
total_bet_amount["trader_market"] = total_bet_amount.apply(
|
202 |
lambda x: (x["trader_type"], x["market_creator"]), axis=1
|
203 |
)
|
@@ -245,6 +265,8 @@ def plot_total_bet_amount(
|
|
245 |
# if axis.startswith("xaxis"):
|
246 |
# fig.layout[axis].update(title="Week")
|
247 |
fig.update_xaxes(tickformat="%b %d")
|
|
|
|
|
248 |
return gr.Plot(
|
249 |
value=fig,
|
250 |
)
|
|
|
2 |
import pandas as pd
|
3 |
import plotly.express as px
|
4 |
from tabs.market_plots import color_mapping
|
5 |
+
from datetime import datetime
|
6 |
|
7 |
trader_metric_choices = [
|
8 |
"mech calls",
|
|
|
81 |
yaxis_title = "Total gross profit per trader (xDAI)"
|
82 |
|
83 |
traders_filtered = traders_df[["month_year_week", "market_creator", column_name]]
|
84 |
+
# Convert string dates to datetime and sort them
|
85 |
+
all_dates_dt = sorted(
|
86 |
+
[
|
87 |
+
datetime.strptime(date, "%b-%d")
|
88 |
+
for date in traders_filtered["month_year_week"].unique()
|
89 |
+
]
|
90 |
+
)
|
91 |
+
# Convert back to string format
|
92 |
+
all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
|
93 |
fig = px.box(
|
94 |
traders_filtered,
|
95 |
x="month_year_week",
|
|
|
105 |
legend=dict(yanchor="top", y=0.5),
|
106 |
)
|
107 |
fig.update_xaxes(tickformat="%b %d\n%Y")
|
108 |
+
# Update layout to force x-axis category order (hotfix for a sorting issue)
|
109 |
+
fig.update_layout(xaxis={"categoryorder": "array", "categoryarray": all_dates})
|
110 |
|
111 |
return gr.Plot(
|
112 |
value=fig,
|
|
|
209 |
.sum()
|
210 |
.reset_index(name="total_bet_amount")
|
211 |
)
|
212 |
+
# Convert string dates to datetime and sort them
|
213 |
+
all_dates_dt = sorted(
|
214 |
+
[
|
215 |
+
datetime.strptime(date, "%b-%d")
|
216 |
+
for date in total_bet_amount["month_year_week"].unique()
|
217 |
+
]
|
218 |
+
)
|
219 |
+
# Convert back to string format
|
220 |
+
all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
|
221 |
total_bet_amount["trader_market"] = total_bet_amount.apply(
|
222 |
lambda x: (x["trader_type"], x["market_creator"]), axis=1
|
223 |
)
|
|
|
265 |
# if axis.startswith("xaxis"):
|
266 |
# fig.layout[axis].update(title="Week")
|
267 |
fig.update_xaxes(tickformat="%b %d")
|
268 |
+
# Update layout to force x-axis category order (hotfix for a sorting issue)
|
269 |
+
fig.update_layout(xaxis={"categoryorder": "array", "categoryarray": all_dates})
|
270 |
return gr.Plot(
|
271 |
value=fig,
|
272 |
)
|