我正在使用ggplot创建一个数字。这个数字有27行,我想展示但不强调,两行,平均值和加权平均值,我想强调。我想只有最后两行出现在情节的传说中。这是我的代码:
p_plot <- ggplot(data = dta, aes(x = date, y = premium, colour = State)) +
geom_line(, show_guide=FALSE) +
scale_color_manual(values=c(rep("gray60", 27)))
p_plot <- p_plot + geom_line(aes(y = premium.m), colour = "blue", size = 1.25,
show_guide=TRUE) + geom_line(aes(y = premium.m.w), colour = "red",
size = 1.25, show_guide=c(TRUE)) + ylab("Pe/pg")
p_plot
第一个show_guide = FALSE
中的geom_line
语句似乎被其他show_guide=TRUE
语句覆盖。如何将数字图例中的条目数限制为“premium.m”和“premium.m.w”?谢谢。
答案 0 :(得分:1)
我认为这应该回答你的问题:(代码略有修改,但概念是相同的)
dta <- data.frame(date = rep(seq.Date(as.Date("2010-01-01"), as.Date("2010-12-01"), "months"), 26),
premium = rnorm(12*26),
State = rep(letters, each = 12))
library(ggplot2)
p_plot <- ggplot(data = dta) +
geom_line(aes(x = date, y = premium, group = State), colour = "grey60")
p_plot + geom_line(aes(x = unique(date), y = as.numeric(tapply(premium, date, mean)), colour = "mean"),
size = 1.25) +
geom_line(aes(x = unique(date), y = as.numeric(tapply(premium, date, median)), colour = "median"),
size = 1.25) + ylab("Pe/pg") + scale_color_discrete("stats")
p_plot
然而,这只是一个(丑陋的)解决方法,远非数据可视化的最佳实践(特别是为了实现ggplot的目的)。无论如何,如果您编辑了问题,我可以为您提供更优雅的解决方案。