Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -108,35 +108,67 @@ def plot_scatter_tab4(cat, subcat, x, y, col):
|
|
108 |
return fig
|
109 |
|
110 |
# Tab 5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
def plot_scatter_tab5(cat, x, y, z, col):
|
|
|
112 |
if cat != "All":
|
113 |
-
data = raw_data[raw_data["Category"] == cat]
|
114 |
else:
|
115 |
data = raw_data
|
116 |
-
|
|
|
|
|
117 |
grouped_cat = data.groupby(["model", "tag"]).size().reset_index(name="count").sort_values(by="count", ascending=False)
|
118 |
grouped_cat["count"] = grouped_cat.groupby(["model"])["count"].transform(lambda x: x / x.sum())
|
119 |
|
|
|
120 |
pivot_df = grouped_cat.pivot(index='model', columns='tag', values='count').fillna(0).reset_index()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
if col == "Size":
|
123 |
pivot_df[col] = pivot_df["model"].map(size_map)
|
124 |
else:
|
125 |
pivot_df[col] = pivot_df["model"].str.split("/").str[0]
|
126 |
|
127 |
-
print("
|
128 |
-
|
129 |
-
print("\nDEBUG: pivot_df columns", pivot_df.columns)
|
130 |
-
print("\nDEBUG: Unique values x/y/z", pivot_df[x].unique(), pivot_df[y].unique(), pivot_df[z].unique())
|
131 |
-
|
132 |
-
fig = px.scatter_3d(pivot_df, x=x, y=y, z=z,
|
133 |
-
hover_name="model",
|
134 |
-
title=f'{x} vs {y} vs {z}',
|
135 |
-
color=col,
|
136 |
-
color_continuous_scale="agsunset")
|
137 |
-
|
138 |
return fig
|
139 |
|
|
|
140 |
# Tab 6
|
141 |
data_with_text = pd.read_csv("./tagged_data_with_text.csv")
|
142 |
def random_sample(r: gr.Request):
|
|
|
108 |
return fig
|
109 |
|
110 |
# Tab 5
|
111 |
+
# def plot_scatter_tab5(cat, x, y, z, col):
|
112 |
+
# if cat != "All":
|
113 |
+
# data = raw_data[raw_data["Category"] == cat]
|
114 |
+
# else:
|
115 |
+
# data = raw_data
|
116 |
+
# # Group and normalize the data
|
117 |
+
# grouped_cat = data.groupby(["model", "tag"]).size().reset_index(name="count").sort_values(by="count", ascending=False)
|
118 |
+
# grouped_cat["count"] = grouped_cat.groupby(["model"])["count"].transform(lambda x: x / x.sum())
|
119 |
+
|
120 |
+
# pivot_df = grouped_cat.pivot(index='model', columns='tag', values='count').fillna(0).reset_index()
|
121 |
+
|
122 |
+
# if col == "Size":
|
123 |
+
# pivot_df[col] = pivot_df["model"].map(size_map)
|
124 |
+
# else:
|
125 |
+
# pivot_df[col] = pivot_df["model"].str.split("/").str[0]
|
126 |
+
|
127 |
+
# print("\nDEBUG: pivot_df.head():\n", pivot_df.head())
|
128 |
+
# print("\nDEBUG: pivot_df shape", pivot_df.shape)
|
129 |
+
# print("\nDEBUG: pivot_df columns", pivot_df.columns)
|
130 |
+
# print("\nDEBUG: Unique values x/y/z", pivot_df[x].unique(), pivot_df[y].unique(), pivot_df[z].unique())
|
131 |
+
|
132 |
+
# fig = px.scatter_3d(pivot_df, x=x, y=y, z=z,
|
133 |
+
# hover_name="model",
|
134 |
+
# title=f'{x} vs {y} vs {z}',
|
135 |
+
# color=col,
|
136 |
+
# color_continuous_scale="agsunset")
|
137 |
+
|
138 |
+
# return fig
|
139 |
+
|
140 |
def plot_scatter_tab5(cat, x, y, z, col):
|
141 |
+
print("DEBUG:", cat, x, y, z, col)
|
142 |
if cat != "All":
|
143 |
+
data = raw_data[raw_data["Category"].str.strip().str.lower() == cat.strip().lower()]
|
144 |
else:
|
145 |
data = raw_data
|
146 |
+
print("DEBUG: data rows after cat filter:", data.shape[0])
|
147 |
+
if data.empty:
|
148 |
+
return px.scatter_3d(title="No data left after category filtering!")
|
149 |
grouped_cat = data.groupby(["model", "tag"]).size().reset_index(name="count").sort_values(by="count", ascending=False)
|
150 |
grouped_cat["count"] = grouped_cat.groupby(["model"])["count"].transform(lambda x: x / x.sum())
|
151 |
|
152 |
+
print("DEBUG: grouped_cat head:", grouped_cat.head())
|
153 |
pivot_df = grouped_cat.pivot(index='model', columns='tag', values='count').fillna(0).reset_index()
|
154 |
+
print("DEBUG: pivot_df head:", pivot_df.head())
|
155 |
+
|
156 |
+
# Ensure chosen columns exist
|
157 |
+
for k in [x, y, z]:
|
158 |
+
if k not in pivot_df.columns:
|
159 |
+
print(f"DEBUG: Axis {k} not found in data columns: {list(pivot_df.columns)}")
|
160 |
+
return px.scatter_3d(title=f"No {k} tag data for models!")
|
161 |
|
162 |
if col == "Size":
|
163 |
pivot_df[col] = pivot_df["model"].map(size_map)
|
164 |
else:
|
165 |
pivot_df[col] = pivot_df["model"].str.split("/").str[0]
|
166 |
|
167 |
+
print("DEBUG: unique color values:", pivot_df[col].unique())
|
168 |
+
fig = px.scatter_3d(pivot_df, x=x, y=y, z=z, hover_name="model", title=f'{x} vs {y} vs {z}', color=col)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
return fig
|
170 |
|
171 |
+
|
172 |
# Tab 6
|
173 |
data_with_text = pd.read_csv("./tagged_data_with_text.csv")
|
174 |
def random_sample(r: gr.Request):
|