gpt4 book ai didi

r - ggplot2:带有 facet_grid 和自由比例的箱线图

转载 作者:行者123 更新时间:2023-12-04 12:48:52 24 4
gpt4 key购买 nike

我正在尝试在带有分面的 Boxplot 图像上使用自由比例尺。

使用此示例数据集,如果我尝试这样做:

ggplot(data=mpg) +
geom_boxplot(aes(x=cty, y=model))+
facet_grid(manufacturer ~ drv, scales = "free", space = "free")

Plot incorrect boxplot http://dl.dropbox.com/u/9788680/plot1.png

在这里,自由尺度完全按照我的意愿实现,y 轴的不同尺度取决于水平面规则的可用因子的数量。然而,箱线图没有正确描绘(即作为实线而不是箱线图)。
在寻找解决方案时,我发现我应该使用 coord_flip() 来正确描绘箱线图,即
ggplot(data=mpg) +
geom_boxplot(aes(x=model,y=cty))+
facet_grid(manufacturer ~ drv, scales = "free", space = "free")+
coord_flip()

Plot correct boxplot, but no scaling http://dl.dropbox.com/u/9788680/plot2.png

在上图中,箱线图现在是正确的。但是,因子的自由标度(因此在 y 轴上)被删除。现在,对于每条水平面线,现在包括数据集中的所有可用因子,而不仅仅是每个面可用的因子(如图 1 所示)。

我想知道如何在两个轴上使用自由比例尺获得正确的刻面,正确描绘箱线图。

如果有人能指出我正确的方向,我将不胜感激。

谢谢。

最佳答案

至少从 ggplot2 2.2.1 开始支持所需的行为。


library(ggplot2)
ggplot(data=mpg[which(mpg$manufacturer %in% c('audi', 'hyundai', 'jeep')),]) +
geom_boxplot(aes(x=model,y=cty)) +
facet_grid(manufacturer ~ drv, scales = "free", space = "free") +
coord_flip()



sessionInfo()
#> R version 3.3.2 (2016-10-31)
#> Platform: x86_64-apple-darwin13.4.0 (64-bit)
#> Running under: OS X El Capitan 10.11.6
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] ggplot2_2.2.1
#>
#> loaded via a namespace (and not attached):
#> [1] Rcpp_0.12.11 digest_0.6.12 rprojroot_1.2
#> [4] plyr_1.8.4 grid_3.3.2 gtable_0.2.0
#> [7] backports_1.0.5 magrittr_1.5 evaluate_0.10.1
#> [10] scales_0.4.1.9002 rlang_0.1.1.9000 stringi_1.1.5
#> [13] reshape2_1.4.2 lazyeval_0.2.0 rmarkdown_1.6.0.9001
#> [16] labeling_0.3 tools_3.3.2 stringr_1.2.0
#> [19] munsell_0.4.3 yaml_2.1.14 colorspace_1.3-2
#> [22] htmltools_0.3.6 knitr_1.16 tibble_1.3.3

关于r - ggplot2:带有 facet_grid 和自由比例的箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com