Spaces:
Sleeping
Sleeping
| import matplotlib.pyplot as plt | |
| import numpy as np | |
| import io | |
| from PIL import Image | |
| def plot_radar_chart(traits): | |
| labels = list(traits.keys()) | |
| values = list(traits.values()) | |
| values.append(values[0]) # repeat first to close circle | |
| labels.append(labels[0]) | |
| angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False).tolist() | |
| angles += angles[:1] | |
| fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True)) | |
| ax.plot(angles, values, "o-", linewidth=2) | |
| ax.fill(angles, values, alpha=0.25) | |
| ax.set_yticklabels([]) | |
| ax.set_xticks(angles[:-1]) | |
| ax.set_xticklabels(labels) | |
| ax.set_title("Trait Radar Chart", y=1.1) | |
| buf = io.BytesIO() | |
| plt.savefig(buf, format="png", bbox_inches="tight") | |
| plt.close(fig) | |
| buf.seek(0) | |
| return Image.open(buf) | |