我有一个geom_paths连接一些geom_points的图。两者都应该是相同的颜色,但由于某种原因,两者之间往往不匹配。当特定地点缺少数据时会发生这种情况。
例如:
set.seed(1)
nCategory<-5
nItem<-6
df<-data.frame(category=rep(LETTERS[1:nCategory],1,each=nItem),
item=paste("Item#",rep(1:nItem,nCategory,each=1),sep=''),
value=rep(1:nItem,nCategory,each=1)+runif(nCategory*nItem)*0.8)
df<-df[sample(nrow(df),20),] # shuffle the data frame and remove some data
df<-arrange(df,category,item)
p<-ggplot(df)
p<-p+geom_point(aes(x=value,y=category,colour=item),size=3)
p<-p+geom_path(aes(x=value,y=category,group=item,colour=item),size=1.5)
p
据我所知,如果没有数据丢失,或者至少如果路径的第一个点没有丢失数据(从'A'开始),则不会发生这种情况。在这种情况下,连接线和点具有相同的颜色。
我试图修正色标,但这并没有改变任何东西。
如何为点及其连接线设置相同的颜色?
编辑:我正在使用ggplot2 0.9。 ggplot2 0.8.9不会发生这种情况。会话信息:
R version 2.14.1 (2011-12-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8
[6] LC_MESSAGES=en_GB.UTF-8 LC_PAPER=C LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices datasets stats utils methods base
other attached packages:
[1] plyr_1.7.1 stringr_0.6 ggplot2_0.9.0 RMySQL_0.8-0 DBI_0.2-5
loaded via a namespace (and not attached):
[1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.1 fortunes_1.4-2 grid_2.14.1 MASS_7.3-16 memoise_0.1
[8] munsell_0.3 proto_0.3-9.2 RColorBrewer_1.0-5 reshape2_1.2.1 scales_0.1.0 tools_2.14.1