r - 每个类别的几个箱线图、晶须和箱线图不对齐
问题描述
这是我想要的情节:
到目前为止,这是我的代码(但它没有给我想要的结果):
color_scale_class <- c("#00aedb", "#ff6f69", "#ffcc5c", "#cbe885", "#88d8b0")
ggplot(fluct_all, aes(x=type, y=test_acc, color=as.factor(fold), fill=type)) +
stat_boxplot(geom = "errorbar") +
geom_boxplot(outlier.alpha = 0.01, outlier.size = 0.75) +
scale_fill_manual(values = color_scale_class,
name = "Input Data\nCombination",
labels = c("TLS", "TLS & GEO", "TLS & RGB", "ALL")) +
scale_color_manual(values=rep("black", 5)) +
theme_light() +
theme(text = element_text(size = 14, family="Calibri")) +
scale_x_discrete(labels = c("TLS", "TLS & GEO", "TLS & RGB", "ALL")) +
xlab("") +
ylab("Test Accuracy\n") +
guides(color = "none")
但是,我有几个问题:我希望胡须有小的水平线。我试图这样做,stat_boxplot(geom = "errorbar")
但这仅在我保持默认宽度时才有效。我想要0.2的宽度。但是当我这样做时,误差条不会与箱线图水平对齐。
我的第二个问题:我希望每个“折叠”都有一个箱线图,但我希望颜色基于“类型”。我设法通过使用获得了单独的图fill=as.factor(fold)
,但是我没有设法获得引用“类型”的颜色。
我想避免使用构面,因为我想要一个情节上的所有内容。非常感谢任何帮助!基本上我的问题是我想要几个基于一个变量的箱线图,我用 来实现fill
,但我希望颜色实际上是指另一个变量。
我这里有一些虚拟数据:
fluct_all <- data.frame(
"type" = rep(c("tls", "tls_rgb", "tls_geo", "tls_rgb_geo"), each=50),
"fold" = rep(1:5, 10),
"test_acc" = rnorm(200))
编辑:我刚刚有了一个想法并修复了颜色问题(对不起!),但我的胡须stat_boxplot
仍然与geom_boxplot
.
解决方案
推荐阅读
- python - SqlAlchemy 作为烧瓶扩展 vs 单独的数据库连接类(SqlAlchemy vs Flask-SqlAlchemy)
- html - 为什么这个 CSS 在某些 Web IDE 或浏览器中会损坏?
- r - 使用 R 为列中的重复值插入 NA
- ios - 当我尝试以编程方式设置标签时没有标签
- bit-manipulation - 将一个热位向量转换为 SystemVerilog 中的整数,无需对数
- c++ - `没有匹配函数调用'islower(std::string&)'`
- php - Laravel: Undefined value in constructor
- python - Convert HMAC Hash from Python to PHP
- flutter - Firestore Multiprovider 不适用于身份验证
- python - In Python, how to map multiple item to one function/value?