Spaces:
Sleeping
Sleeping
“Transcendental-Programmer”
commited on
Commit
·
96f3483
1
Parent(s):
2fa6289
fix: chart_generator
Browse files- chart_generator.py +17 -4
chart_generator.py
CHANGED
|
@@ -16,15 +16,28 @@ class ChartGenerator:
|
|
| 16 |
start_time = time.time()
|
| 17 |
logging.info(f"Generating chart with arguments: {plot_args}")
|
| 18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
fig, ax = plt.subplots()
|
| 20 |
-
for y in
|
| 21 |
color = plot_args.get('color', None)
|
| 22 |
if plot_args.get('chart_type', 'line') == 'bar':
|
| 23 |
-
ax.bar(self.data[
|
| 24 |
else:
|
| 25 |
-
ax.plot(self.data[
|
| 26 |
|
| 27 |
-
ax.set_xlabel(
|
| 28 |
ax.legend()
|
| 29 |
|
| 30 |
|
|
|
|
| 16 |
start_time = time.time()
|
| 17 |
logging.info(f"Generating chart with arguments: {plot_args}")
|
| 18 |
|
| 19 |
+
# Validate columns before plotting
|
| 20 |
+
x_col = plot_args['x']
|
| 21 |
+
y_cols = plot_args['y']
|
| 22 |
+
missing_cols = []
|
| 23 |
+
if x_col not in self.data.columns:
|
| 24 |
+
missing_cols.append(x_col)
|
| 25 |
+
for y in y_cols:
|
| 26 |
+
if y not in self.data.columns:
|
| 27 |
+
missing_cols.append(y)
|
| 28 |
+
if missing_cols:
|
| 29 |
+
logging.error(f"Missing columns in data: {missing_cols}")
|
| 30 |
+
raise ValueError(f"Missing columns in data: {missing_cols}")
|
| 31 |
+
|
| 32 |
fig, ax = plt.subplots()
|
| 33 |
+
for y in y_cols:
|
| 34 |
color = plot_args.get('color', None)
|
| 35 |
if plot_args.get('chart_type', 'line') == 'bar':
|
| 36 |
+
ax.bar(self.data[x_col], self.data[y], label=y, color=color)
|
| 37 |
else:
|
| 38 |
+
ax.plot(self.data[x_col], self.data[y], label=y, color=color)
|
| 39 |
|
| 40 |
+
ax.set_xlabel(x_col)
|
| 41 |
ax.legend()
|
| 42 |
|
| 43 |
|