如何在格子bwplot中手动设置多个箱线图的比例?

Leo*_*Leo 2 r lattice

我已经得到了聚类的结果,并决定使用晶格为每个聚类制作一个箱形图.接下来,我面临着建立所有集群箱图可接受的规模的需求.

第一次尝试

找到一个解决方案,允许排除异常值并设置自由关系.

library(lattice)
trellis.device(new=FALSE, col=FALSE)

bwplot(value ~ variable | Cluster, data = test, 
       layout = c(2,2), 
       prepanel = function(x, y) {
               bp <- boxplot(split(y, x), plot = FALSE)
               ylim <- range(bp$stats)
               list(ylim = ylim) },
       scales = list(y = list(relation = "free")),
       do.out = F)
Run Code Online (Sandbox Code Playgroud)

所以,我有很好的情节,但如果我手动设置每个情节的ylim,它会更好.例如,我的数据中只有整数值,而左上方群集图中的值0.5则没有意义. 第二

那么,有没有办法在bwplot参数中设置多个ylims?

Ben*_*nes 6

从以下文档?bwplot:

xlim也可以是一个列表,具有与面板数量一样多的组件(如果需要,可以再循环),每个组件如上所述.只有当这是有意义的scales$x$relation"free",在这种情况下,就好像它们是由prepanel计算返回的相应的限制部件,但是这些被处理.

ylim参数具有y轴的相应功能.

因此,像您一样relation = "free"scales参数中设置,然后将列表传递给ylim参数,以单独设置每个面板的y轴限制:

bwplot(len ~ factor(dose) | supp, data = ToothGrowth,
    scales = list(relation = "free"),
    ylim = list(c(5, 31), c(0, 36)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述