| import pandas as pd |
| import matplotlib.pyplot as plt |
| import numpy as np |
|
|
|
|
| def generate_heatmap(df: pd.DataFrame): |
| if df is None or df.empty: |
| return None |
|
|
| heat = np.zeros((20, 30)) |
|
|
| for _, row in df.iterrows(): |
| a = int(row["Suggested Aisle"]) |
| r = int(row["Suggested Rack"]) |
| if 1 <= a <= 20 and 1 <= r <= 30: |
| heat[a - 1, r - 1] += 1 |
|
|
| plt.figure(figsize=(6, 4)) |
| plt.imshow(heat, cmap="hot", interpolation="nearest") |
| plt.colorbar() |
| plt.title("Warehouse Heatmap") |
| img_path = "/tmp/heatmap.png" |
| plt.savefig(img_path) |
| plt.close() |
|
|
| return img_path |
|
|