r - Geom_bar_pattern 不将 x 轴类别视为不同
问题描述
取以下数据
df <- data.frame(replicate(2,sample(0:1,30,rep=TRUE)))
df <- reshape(data=df, varying=list(1:2),
direction="long",
times = names(df),
timevar="Type",
v.names="Score")
像这样绘制:
plot <- ggbarplot(df, x = "Type", y = "Score",
color = "black", fill = "Type", add = "mean_ci")
我只想给 X1 添加条纹
plot +
geom_bar_pattern(stat = "summary", fun = "mean", position="dodge", color="black", width=1,pattern_angle = 45, pattern_density = 0.4,pattern_spacing = 0.025, pattern_key_scale_factor = 0.6) +
scale_pattern_manual(values = c(X1 = "stripe", X2 = "none"))
然而,条纹被添加到两个 x 轴类别(scale_pattern_manual 不起作用?)
任何帮助深表感谢。
解决方案
您可以使用stat_summary
而不是使用来构建错误栏ggpubr::ggbarplot
,然后您会得到:
library(ggplot2)
library(ggpattern)
df <- data.frame(replicate(2,sample(0:1,30,rep=TRUE)))
df <- reshape(data=df, varying=list(1:2),
direction="long",
times = names(df),
timevar="Type",
v.names="Score")
ggplot(df, aes(x = Type, y = Score, pattern=Type,
color = "black", fill = Type)) +
geom_bar_pattern(stat = "summary",
fun = "mean",
position="dodge",
color="black",
width=1, pattern_angle = 45,
pattern_density = 0.4, pattern_spacing = 0.025,
pattern_key_scale_factor = 0.6) +
scale_pattern_manual(values = c("stripe", "none")) +
stat_summary(fun.data=mean_cl_normal, geom="errorbar", col="black", width=.1)
由reprex 包创建于 2021-05-19 (v2.0.0 )
推荐阅读
- r - 数字日期变量到实际日期变量
- python-3.x - 使用 wsgi 脚本托管的带有聊天机器人的烧瓶应用程序 [sqlite3.OperationalError) 无法打开数据库文件]
- odbc - ODBC DataStage 从 SQL Server 错误读取 nvarchar
- visual-studio-code - 在 Visual Studio Code 中执行 Python 脚本时,是否可以配置隐藏活动栏的设置?
- android - 添加 admob 依赖项 17.1.1 后构建时出现 Android 错误
- sql - SQL 正则表达式函数返回错误的结果
- batch-file - 在运行时通过 bat 文件将值传递给 JMeter 脚本
- c# - 恢复主窗口时,以前最大化的子窗口不再最大化
- docker - MariaDB Docker 容器使用数据量 - 错误 2002,无法通过套接字连接
- sql - 如何在sql server中将119.305.1983984.1转换为1.1983984.305.119?