我在定义图例时面临问题。这是我正在使用的代码。我检查了除了这个论坛之外的各种ggplot2教程和文档,以找到解决问题的线索。请告诉我这里做错了什么?
5
答案 0 :(得分:1)
您应该将数据合并到一个数据框中。 E.g:
df_pred <- data.frame(cbind(xdata=COMPD1$xdata, A=pred1, B=pred2, C=pred3, D=pred4, necafT=pred5))
df_pred <- tidyr::gather(df_pred, -xdata,key="var", value="ydata")
df_real <- tidyr::gather(COMPD1,-xdata,key="var", value="ydata")
df <- merge(df_pred, df_real, by=c("var", "xdata"), suffixes=c("_pred", "_real"))
ggplot(df) + geom_point(aes(y=ydata_real, x=xdata,color=var, shape=var)) +
theme(legend.title = element_text(colour="blue", size=10, face="bold"),
legend.position="bottom",panel.background = element_rect(colour = "black", size=1),
plot.title = element_text(hjust = 0),
axis.title = element_text(face="bold", color="#966666", size=14),
axis.text.x = element_text(face="bold", color="#666666", size=12),
axis.text.y = element_text(face="bold", color="#666666", size=12)) +
geom_line(aes(y=ydata_pred,x=xdata,color=var))