在试图回答这个问题,以创建所希望的描绘一个方法是使用geom_dotplot
来自ggplot2
如下:
library(ggplot2) library(reshape2) CTscores <- read.csv(text="initials,total,interest,slides,presentation CU,1.6,1.7,1.5,1.6 DS,1.6,1.7,1.5,1.7 VA,1.7,1.5,1.5,2.1 MB,2.3,2.0,2.1,2.9 HS,1.2,1.3,1.4,1.0 LS,1.8,1.8,1.5,2.0") CTscores.m = melt(CTscores, id.var="initials") ggplot(CTscores.m, aes(x=variable, y=value)) + geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03) + theme_bw()+coord_flip()
为了区分这些点,只需添加颜色,但geom_dotplot
颜色上的扼流圈并不会最终堆叠它们会很方便:
ggplot(CTscores.m, aes(x=variable, y=value, fill=initials)) + geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,color=NA) + theme_bw()+coord_flip()
但是,可以使用hack手动添加颜色:
gg_color_hue <- function(n) { hues = seq(15, 375, length=n+1) hcl(h=hues, l=65, c=100)[1:n] } cols <- rep(gg_color_hue(6),4) ggplot(CTscores.m, aes(x=variable, y=value)) + geom_dotplot(binaxis="y", stackdir="up",binwidth=0.03,fill=cols,color=NA) + theme_bw()+coord_flip()
不幸的是,没有传说.最重要的是,我们不能aes(fill=)
尝试手动添加图例,因为它会折叠点.有没有办法在不使用的情况下添加图例aes()
?