in src/text_clustering.py [0:0]
def _show_mpl(self, df):
fig, ax = plt.subplots(figsize=(12, 8), dpi=300)
df["color"] = df["labels"].apply(lambda x: "C0" if x==-1 else f"C{(x%9)+1}")
df.plot(
kind="scatter",
x="X",
y="Y",
c="labels",
s=0.75,
alpha=0.8,
linewidth=0,
color=df["color"],
ax=ax,
colorbar=False,
)
for label in self.cluster_summaries.keys():
if label == -1:
continue
summary = self.cluster_summaries[label]
position = self.cluster_centers[label]
t= ax.text(
position[0],
position[1],
summary,
horizontalalignment='center',
verticalalignment='center',
fontsize=4,
)
t.set_bbox(dict(facecolor='white', alpha=0.9, linewidth=0, boxstyle='square,pad=0.1'))
ax.set_axis_off()