r - 在一张图上处理 2 个数据集时,如何在 ggplot 上获得图例?
问题描述
我使用下面的代码生成了一个图表,显示了来自 2 个不同数据集的结果,在图表上显示为两条线。该代码没有带来传奇,我在这些论坛中所做的任何事情似乎都不起作用。请问有人可以看看吗?谢谢
taqtable<-ddply(baseline,. (X.step.), summarize,
mean=mean(TotalAdultQueens),
sd=sd(TotalAdultQueens),
se=se(TotalAdultQueens))
taqtableleg<-ddply(legume,.(X.step.),summarize,
mean=mean(TotalAdultQueens),
sd=sd(TotalAdultQueens),
se=se(TotalAdultQueens))
ggplot(taqtable,aes(x=X.step.,y=mean))+
ggtitle("(d)")+
xlab("Day")+
ylab("Total Adult B.pascorum Queens (mean)")+
#xlim()+
ylim(0,4500)+
geom_line(color="red", size=1)+
geom_line(data=taqtableleg, aes(x=X.step., y=mean),color="blue", size=1)+
theme(axis.text.x=element_text(angle=0))
解决方案
您可以向它们添加id
列。请输入以下代码:data.frames
rbind
library(plyr)
#data simulation
set.seed(123)
n <- 1000
se <- function(x) {
sd(x) / sqrt(length(x))
}
baseline <- data.frame(X.step. = (sample(1:20, n, replace = TRUE)),
TotalAdultQueens = floor(rnorm(n, mean = 2000, sd = 5000)))
legume <- data.frame(X.step. = (sample(1:20, n, replace = TRUE)),
TotalAdultQueens = floor(rnorm(n, mean = 2000, sd = 5000)))
# data transformation
taqtable <- ddply(
baseline,
. (X.step.),
summarize,
mean = mean(TotalAdultQueens),
sd = sd(TotalAdultQueens),
se = se(TotalAdultQueens)
)
taqtable$id = "taqtable"
taqtableleg <- ddply(
legume,
.(X.step.),
summarize,
mean = mean(TotalAdultQueens),
sd = sd(TotalAdultQueens),
se = se(TotalAdultQueens)
)
taqtableleg$id <- "taqtableleg"
result <- rbind(taqtable, taqtableleg)
# plot
ggplot(result, aes(x = X.step., y = mean, color = id)) +
ggtitle("(d)") +
xlab("Day") +
ylab("Total Adult B.pascorum Queens (mean)") +
ylim(0, 4500) +
geom_line(size = 1) +
theme(axis.text.x = element_text(angle = 0))
推荐阅读
- python - 这是两个 PDF 的卷积吗?
- omnet++ - 模块接口在加载的 NED 文件中
- php - 按日期搜索时,学说查询找不到记录
- python - 如何在句子列表中的单词和左括号之间创建空格
- c - ' vs " 在 C 中使用字符时
- sorting - 你可以在谷歌脚本中有 2 个范围吗?
- image - 与opentbs合并一个字段类型的图片数据:image/png;base64
- tkinter - 在 tkinter 中配置选项菜单
- serialization - UWP SyncFusion SfDataGrid 序列化异常
- javascript - 为什么 -moz-transform 和 -webkit-transform 不起作用?