r - 你可以在ggplot2中堆叠箱线图吗?
问题描述
这是我的情节的一个例子。注意箱线图是如何彼此相邻的。我想弄清楚是否有办法将箱形图堆叠在一起。
解决方案
更新 因为这是一项具有挑战性的任务,所以我更进一步:主要提示在 Gregor Thomas 的评论中。我搜索了一下,发现了这个geom_boxplot: map alpha levels towhisers & outliers
library(ggplot2)
library(cowplot)
df <- diamonds
# defining individual alpha levels
# learned here https://stackoverflow.com/questions/34618517/geom-boxplot-map-alpha-levels-to-whiskers-outliers
numVals = length(unique(iris$Species))
avals = seq(0.1, 0.4, length.out=numVals)
avalsHex = paste0("#000000", toupper(as.hexmode(round(avals*255))))
# the plots with some data tweaking
p1 <- df %>%
mutate(color = fct_lump(color, 2),
mutate = fct_reorder(color, depth)) %>%
ggplot(aes(cut, depth))+
geom_boxplot(aes(fill=color, alpha=color)) +
scale_alpha_manual(values = avals) +
scale_colour_manual(values = avalsHex) +
theme_void()
p2 <- df %>%
mutate(color = fct_lump(color, 2),
mutate = fct_reorder(color, depth)) %>%
ggplot(aes(cut, depth))+
geom_boxplot(aes(fill=color, alpha=color), position = "identity") +
scale_alpha_manual(values = avals) +
scale_colour_manual(values = avalsHex) +
theme_void()
plot_grid(p1, p2, labels = "AUTO")
第一个答案:
我不确定,但你可以用coord_flip
. 请参阅我的钻石数据集示例。这意味着只显示没有点的箱线图。
ggplot(diamonds, aes(x = cut, y = depth, fill = color)) +
geom_boxplot() +
coord_flip()
推荐阅读
- model - Razor Pages 和 DevExpress - 在一个单元格中显示多个图像
- node.js - 为什么我的 HTTP 获取请求给了我 403 错误?
- sql - 如果第二个表中也没有条目,则返回行?
- excel - 具有自动保存功能的 VBA 循环;代码将执行第一个实例,但在永久之后生成空白
- wordpress - Revolution Slider 6 中是否具有“Helper Grid”功能?
- elasticsearch - 在 ElasticSearch 中使用 multi_match 查询的奇怪结果
- javascript - 在按钮单击 ASP.NET MVC 时调用操作方法
- javascript - 从 JSON 中获取下拉列表的动态值
- c# - 为什么这段代码会抛出“System.ArgumentOutOfRangeException”(SQlite)?
- java - 如何解决发布版本中的重复 jar 条目 [com/android/volley/R.class]?