You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改YellowBrick KElbowVisualizer生成图表的坐标轴标签?

修改KElbowVisualizer生成的轮廓系数图坐标轴标签

我使用以下代码通过KElbowVisualizer生成轮廓系数(silhouette)图:

# 导入KElbowVisualizer方法
# 实例化scikit-learn的K-Means模型
model = KMeans(random_state=0)
# 实例化KElbowVisualizer,指定聚类数量范围与评估指标
titleKElbow = "title"
visualizer = KElbowVisualizer(model, k=(2,7), metric='silhouette', timings=False,title = titleKElbow)
# 拟合数据并可视化
visualizer.fit(df[['a','b','c']])
visualizer.poof()

生成的图表中X轴标签为'k',我该如何修改图表的坐标轴标签?我查阅过文档,但目前只找到plt风格图表添加坐标轴标签的方法。


其实KElbowVisualizer本身就是基于matplotlib构建的,你完全可以通过它自带的ax属性来修改坐标轴标签,不用单独调用全局的plt方法,这样更精准也不会干扰其他图表的设置。这里有两种简单可行的方式:

方法一:渲染后直接修改

调用poof()完成图表渲染后,直接通过visualizer.ax设置轴标签:

# 拟合数据并可视化
visualizer.fit(df[['a','b','c']])
visualizer.poof()

# 自定义坐标轴标签
visualizer.ax.set_xlabel("聚类数量")
visualizer.ax.set_ylabel("轮廓系数得分")

方法二:渲染前提前配置

如果你想在图表显示前就完成标签设置,也可以先获取轴对象再修改,最后调用poof():

visualizer.fit(df[['a','b','c']])

# 先修改标签再渲染
visualizer.ax.set_xlabel("聚类数量")
visualizer.ax.set_ylabel("轮廓系数得分")
visualizer.poof()

要是你还想调整标签的样式(比如字体大小、颜色),直接在set_xlabel/set_ylabel里加参数就行,和matplotlib的用法完全一致:

visualizer.ax.set_xlabel("聚类数量", fontsize=12, color="#2c3e50")
visualizer.ax.set_ylabel("轮廓系数得分", fontsize=12, color="#2c3e50")

这样就能轻松替换掉默认的X轴标签'k'和Y轴默认的'Silhouette Score'啦。


内容的提问来源于stack exchange,提问作者Thelonious Monk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 13:52:27