比方说,我想以一种简单的图形方式查看抽样活动对变量测量的影响,一种方法是在箱形图顶部的带状图中为事件着色。下面是一个示例代码,部分起作用。非常感谢您的帮助。
library(viridisLite)
str(iris)
iris$Cnum <- rep(1:5, length.out=nrow(iris)) # this are the events/campains I seek to color
boxplot(Sepal.Length ~ iris$Species, data = iris)
# following I'm introducing the colors I want to use for the 5 different campaigns
Cnum <- c(1:5)
colhex <- viridis(5)
colDf <- data.frame(Cnum, colhex)
iris.draw <- plyr::join(iris, colDf, by = "Cnum")
stripchart(iris.draw$Sepal.Length ~ iris.draw$Species, vertical = TRUE, data = iris.draw, method = "jitter", add = TRUE, pch = 21, cex=0.7 , col = "black", bg = iris$colhex)```
我设法将点用ggplot着色:
geom_boxplot()+
geom_jitter(position=position_jitter(0.2), colour=iris.draw$colhex)
但是我仍在为图例而苦苦挣扎...
答案 0 :(得分:0)
我找到了一个解决方案(感谢http://www.sthda.com/): 使用库viridis而不是viridisLite:
library(viridis)
iris.draw$campaign <- as.factor(iris.draw$Cnum)
ggplot(iris.draw, aes(x=Species, y=Sepal.Length, color=iris.draw$campaign)) +
geom_boxplot(color="black")+
geom_jitter(position=position_jitter(0.2))+
scale_color_viridis(discrete=TRUE)