相关疑难解决方法(0)

在ggplot2中使用facet_wrap和scales ="free"设置单个轴限制

我正在创建一个刻面图,以预测值与残差的图表并排查看预测值与实际值.我将shiny用于帮助探索使用不同训练参数的建模工作的结果.我用85%的数据训练模型,测试剩余的15%,并重复5次,每次收集实际/预测值.计算残差后,我的data.frame样子如下:

head(results)
       act     pred       resid
2 52.81000 52.86750 -0.05750133
3 44.46000 42.76825  1.69175252
4 54.58667 49.00482  5.58184181
5 36.23333 35.52386  0.70947731
6 53.22667 48.79429  4.43237981
7 41.72333 41.57504  0.14829173
Run Code Online (Sandbox Code Playgroud)

我想要的是:

  • 并排的侧情节predactpred对比resid
  • 所述X/Y范围/用于限制predact是相同的,理想地从min(min(results$act), min(results$pred))max(max(results$act), max(results$pred))
  • 在X/Y范围/对限制predresid 被通过我做什么实际与预测的情节影响.x只绘制预测值并y仅绘制剩余范围就可以了.

为了并排查看两个图,我将数据融化:

library(reshape2)
plot <- melt(results, id.vars = "pred")
Run Code Online (Sandbox Code Playgroud)

现在情节:

library(ggplot2)
p <- ggplot(plot, aes(x = pred, y = …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

96
推荐指数
3
解决办法
11万
查看次数

使用小平面包裹设置单独的y轴限制,不使用刻度free_y

我有这些数据

library(ggplot2)

dat = data.frame(x = c(1,2,1,2), 
                 group = c("a","a","b","b"), 
                 y = c(10,20,1000,2000))

ggplot(dat, aes(x = x, y = y)) + 
    geom_point() + 
    geom_line() + 
    facet_wrap(~group, ncol = 1) +
    coord_cartesian(ylim = c(0, 30))
Run Code Online (Sandbox Code Playgroud)

您可以看到B组未显示,因为我将y限制设置为0,30.我想手动为每个图表设置单独的y限制.我不想使用,scales = "free_y"因为我需要控制每个图表中的限制.

有没有办法可以做到这一点?你能以某种方式为小平面包装中的每个图表提供y限制吗?

r ggplot2

7
推荐指数
1
解决办法
5796
查看次数

标签 统计

ggplot2 ×2

r ×2

facet ×1