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

如何在R的caret包中调整resample类对应的ggplot坐标轴?

解决caret resamples绘图时的离散值轴错误

你用caret训练两个模型后,通过resamples()对比性能,用ggplot绘图时想调整轴范围却报错:Error: Discrete value supplied to continuous scale。

错误原因

直接用ggplot(Resamples, metric = "RMSE")生成的图中,x轴是离散的模型名称(RF/RP),而你调用的scale_x_continuous()是用来设置连续型变量的轴刻度,两者类型不匹配,所以触发错误。另外你的需求应该是调整RMSE的显示范围,RMSE是图中的y轴变量,而非x轴。

解决方法

把scale_x_continuous()替换为scale_y_continuous(),即可正确设置RMSE的轴范围和刻度:

# 修正后的绘图代码
ggplot(Resamples, metric = "RMSE") + 
  scale_y_continuous(limits = c(0,60), breaks = seq(0,60,10))

额外说明

如果确实需要调整x轴(比如修改模型名称的显示),应该用针对离散变量的scale_x_discrete(),示例如下:

ggplot(Resamples, metric = "RMSE") +
  scale_x_discrete(labels = c("随机森林", "决策树"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:45:42