我正在寻找一种方法来隐藏使用下面的代码创建的情节中的一个aestetic传说。要按日期缩放点颜色,我必须将日期转换为数字,而我宁愿不在图上显示日期图例。另一方面,形状图例是要显示的重要信息。我理解legend.position="none"
将彻底删除这个图例,但这让我想到了如何传达形状背后的含义的问题。
library(ggplot2)
w<-read.table("data.txt", header=TRUE)
pt.data <- w[w$dt==min(w$dt),]
p <- ggplot(data=w, aes(OAD,RtgValInt,color=dt,shape=Port)) +
geom_jitter(size=3, alpha=0.75) +
scale_colour_gradient(limits=c(min(w$dt),
max(w$dt)),
low="#9999FF", high="#000066") +
geom_point(data=pt.data,
color="red", size=3, aes(shape=Port))
print(p)
data.txt
文件包含以下行。
Date Port OAD RtgValInt dt
12/31/2010 Grp1 1.463771 1.833333 14974
12/31/2010 Grp2 1.193307 2.071429 14974
11/30/2010 Grp1 1.454115 1.833333 14943
11/30/2010 Grp2 1.127755 2.071429 14943
10/29/2010 Grp1 1.434965 2.000000 14911
10/29/2010 Grp2 1.055758 2.071429 14911
09/30/2010 Grp1 1.441773 2.000000 14882
09/30/2010 Grp2 1.077799 2.071429 14882
答案 0 :(得分:10)
您可以在图层级别抑制图例。如果您将颜色审美从初始调用ggplot移动到抖动层,这似乎会产生您所追求的效果。我有点困惑,但为什么你想要根据日期颜色而不提供关于颜色含义的关键...但这是一个更值哲学的问题供你思考。
ggplot(data=w, aes(OAD,RtgValInt,shape=Port)) +
geom_jitter(size=3, alpha=0.75, color=dt, legend = FALSE) +
scale_colour_gradient(limits=c(min(w$dt), max(w$dt)),low="#9999FF", high="#000066") +
geom_point(data=pt.data, color="red", size=3, aes(shape=Port))