R 我的组合横杆不';我不会闪避,而我的方块图会闪避
我希望我的横杆也能闪避,就像我的箱线图一样,在我的示例中它不起作用,任何人都可以解释我做错了什么,或者修复我的代码?我以mtcars为例,并将结果作为一张我的横杆不会闪避的图片R 我的组合横杆不';我不会闪避,而我的方块图会闪避,r,ggplot2,R,Ggplot2,我希望我的横杆也能闪避,就像我的箱线图一样,在我的示例中它不起作用,任何人都可以解释我做错了什么,或者修复我的代码?我以mtcars为例,并将结果作为一张我的横杆不会闪避的图片 library(ggplot2) mtcars$am = factor(mtcars$am) mtcars$vs = factor(mtcars$vs) cleanup = theme( panel.grid.major = element_blank(), panel.grid.minor = elemen
library(ggplot2)
mtcars$am = factor(mtcars$am)
mtcars$vs = factor(mtcars$vs)
cleanup = theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black"),
legend.key = element_rect(fill = "white"),
text = element_text(size = 10))
p = ggplot(data = mtcars, aes(x = am , y = mpg, colour = vs)) +
geom_boxplot(aes(colour = vs)) +
stat_summary(aes(colour = vs),
fun.data = "mean_cl_normal",
geom = "crossbar",
position = position_dodge(width = 0.90),
width = .2,
col = "red")
p +
cleanup +
xlab("AM") +
ylab("Miles per Gallon") +
scale_colour_manual(name = "VS",
values = c("Light Gray",
"Dark Grey"))
这给了我这个图表:
原因很简单:指定
col=“red”
将覆盖到颜色的aes
映射。实际上只有一组横杆,因此没有什么可以躲闪的
通过映射到组
,可以解决此问题:
ggplot(mtcars, aes(x = am , y = mpg, colour = vs)) +
#geom_boxplot() +
stat_summary(aes(group = vs),
fun.data = "mean_cl_normal",
geom = "crossbar",
position = position_dodge(width = 0.9),
width = .2,
col = "red")
但是,仅为横杆放弃色标显然不会产生良好的绘图。对于您的示例来说,一根管道(以及加载dplyr)绝对不是必需的。信不信由你,但仍然有人不使用dplyr。谢谢你的提醒!我的习惯..太好了,你是说我应该用两种不同的颜色做横杆?我尝试了“col=c(“橙色”、“红色”)”,但没有这样做。您需要第二个颜色变量,例如,
aes(color=paste0(vs,1))
,然后在scale\u color\u手册
中指定其他颜色。