You need to enable JavaScript to run this app. tidymodels中autoplot生成的模型结果对比图如何修改x轴刻度标签?
优惠活动
大模型
产品
解决方案
定价
更多

tidymodels中autoplot生成的模型结果对比图如何修改x轴刻度标签?

你调用scale_x_discrete()不生效的核心原因是:当autoplot()的select_best = TRUE参数开启时,生成的ggplot图表的x轴变量为模型按指定指标排序的排名,属于连续数值型变量,因此离散轴调整函数scale_x_discrete()无法匹配生效。


解决方法1:用连续轴调整函数直接修改标签

如果要保留原有按排名排序的x轴结构,直接调用scale_x_continuous()指定breaks和labels参数即可,示例代码如下:

autoplot(
   grid_results,
   rank_metric = "rmse",  # 模型排序依据指标
   metric = "rmse",       # 可视化的评估指标
   select_best = TRUE     # 每个工作流仅展示最优结果点
) +
  scale_x_continuous(
    breaks = 1:12, # 12个模型对应1到12的排名刻度位置
    labels = rep("example", 12) # 替换为你自定义的12个标签向量即可
  )

解决方法2:自定义绘图直接使用工作流名称作为x轴

如果你需要直接用模型工作流名称作为x轴刻度,也可以提取绘图原始数据自行绘制,灵活性更高:

library(ggplot2)

# 提取autoplot生成的原始绘图数据
plot_data <- autoplot(
  grid_results,
  rank_metric = "rmse",
  metric = "rmse",
  select_best = TRUE
)$data

# 自定义绘图,按RMSE从小到大排序
ggplot(plot_data, aes(x = reorder(wflow_id, mean), y = mean)) +
  geom_point(size = 2) +
  geom_errorbar(aes(ymin = mean - std_err, ymax = mean + std_err), width = 0.2) +
  coord_flip() + # 翻转坐标轴,适配较长的工作流名称展示
  labs(x = "模型工作流", y = "RMSE")

内容的提问来源于stack exchange,提问作者S Front

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 04:45:05