[英]create boxplots with transparent colour ggplot2
我创建了一个包含多个组的图形,并在一行线上绘制了一个geom_boxplot()。 但是,透明地对盒子进行着色以便可以看到线条会很不错。
这是一些示例数据:
x11()
name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)
df <- data.frame(name, class, year, value)
df
我绘制图形:
p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) + facet_wrap(~ class, scales = "free_y")
p1 <- p1 + geom_boxplot(aes(group=name))
print(p1)
在我的系统上,图例中的线宽未正确显示。 难道我做错了什么? 提前致谢!
您可以将alpha
参数添加到箱线图中。 例如:
geom_boxplot(aes(group=name), alpha = 0.8)
会给你
更改geoms的顺序,先绘制箱线图,然后再绘制线条。 但是,我不认为你的图表是有道理的。 为什么使用名称来改变线的大小? 改变线型不是更有意义吗? 我建议不要使用free_y,因为它很难比较。
name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)
df <- data.frame(name, class, year, value)
df
library(ggplot2)
p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_boxplot(aes(group=name)) + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) +
facet_wrap(~ class, scales = "free_y")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.