如何在ggplot中命名图例中的数据?

4

我有一个名为 One_APD 的数据框:

One_APD = structure(list(Amplification = c(108.91, 120.765, 134.875, 151.877, 172.812, 199.324), Voltage = c(351.955, 353.954, 355.956, 357.955, 359.947, 361.948), pred = c(1.54580502813059, 1.56713437847747, 1.58992216028315, 1.61410007849728, 1.63960908075698, 1.66665619275778)), .Names = c("Amplification", "Voltage", "pred"), row.names = c(NA, -6L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"))

它看起来像这样:

> One_APD
  Amplification Voltage     pred
1       108.910 351.955 1.545805
2       120.765 353.954 1.567134
3       134.875 355.956 1.589922
4       151.877 357.955 1.614100
5       172.812 359.947 1.639609
6       199.324 361.948 1.666656

并将其绘制为以下图表:

ggplot(One_APD, aes(x = Voltage, y = log(log(Amplification)))) +
  geom_point(size=3, colour="blue") +
  geom_line(aes(y = pred), size=2, alpha=0.3, colour="red")

这看起来像:

ggplot

我想添加一个图例,以命名蓝点和红色曲线。就我所见,所有的图例命令都是针对ggplot中aes中的fill或colour。但是我不提供填充或颜色,因为分配颜色或填充没有意义。如何将相应的图例添加到绘图数据中?

编辑:解决方案在构建复杂图的手动图例中。


请以可解析的方式提供数据,以提供一个最小工作示例。您可以使用dput来完成此操作。 - ziggystar
@ziggystar 谢谢,我已经添加了(这样正确吗?)。 - Ben
我保留它,因为显然 R 在其头部中保留数据,尽管它们已如上所述被删除:我已经删除了列,但它们仍然出现... 不是在数据框中,而是在结构中(?) - Ben
1
嘿,我已经为您编辑了问题。现在您又把旧代码放回去了。 :) - ziggystar
1
你可以在这里解决你的问题:https://dev59.com/5mQn5IYBdhLWcg3wCzak - Antonios
显示剩余7条评论
1个回答

2
我认为下面的图表可以回答您的问题并符合您的要求。
colors=c("Amplification"="blue","pred"="red")
ggplot(data=One_APD,aes(x=Voltage)) + 
  geom_point(aes(y=log(log(Amplification)), colour="Amplification"),size=3) +
  geom_line(aes(y=pred,colour="pred"), size=2, alpha=0.3) +scale_colour_manual(name="Variable",values=colors) +
  ylab("log(log(Amplification)") + xlab("Voltage") 

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接