如何添加图例以使用多个数据框中的数据进行绘图

查兹马塔兹

我编写了一个由两个单独的数据帧编译而成的ggplot脚本,但就目前而言,由于aes中不包含颜色,因此没有图例。如果可能,我宁愿将两个数据集分开,但无法弄清楚如何添加图例。有什么想法吗?

我尝试过将颜色直接添加到es函数中,但是然后颜色只是作为变量添加并在图例中列出,而不是对实际数据进行着色。

在创建绘图后,用基数r对此进行绘图:

legend("top",c("Delta 18O","Delta 13C"),fill=c("red","blue")

并得到了我所需要的,但是我不确定如何在ggplot中复制它。

下面的代码当前准确地绘制了我想要的内容,只是缺少了图例...理想情况下,该图例应与上面的代码行匹配,除了“ 18”和“ 13”需要上标。

使用base r(具有正确的图例,但没有上标13和18的情况下有正确的图例)的旧图以及缺少图例的当前图的示例可以在以下位置找到:旧:https : //imgur.com/xgd9e9C新的,缺少图例:https ://imgur.com/eGRhUzf

后台数据

head(avar.data.x)
      time          av       error
1 1.015223 0.030233604 0.003726832
2 2.030445 0.014819145 0.005270609
3 3.045668 0.010054801 0.006455241
4 4.060891 0.007477541 0.007453974
5 5.076113 0.006178282 0.008333912
6 6.091336 0.004949045 0.009129470
head(avar.data.y)
      time         av       error
1 1.015223 0.06810001 0.003726832
2 2.030445 0.03408136 0.005270609
3 3.045668 0.02313839 0.006455241
4 4.060891 0.01737148 0.007453974
5 5.076113 0.01405144 0.008333912
6 6.091336 0.01172788 0.009129470

以下avarn函数产生一个具有三列和数千行的数据帧(请参见上面的标题)。然后将它们随时间记录在对数/对数图上。

avar.data.x <- avarn(data3$"d Intl. Std:d 13C VPDB - Value",frequency)

avar.data.y <- avarn(data3$"d Intl. Std:d 18O VPDB-CO2 - Value",frequency)

创建艾伦偏差图

ggplot()+
      geom_line(data=avar.data.y,aes(x=time,y=sqrt(av)),color="red")+
      geom_line(data=avar.data.x,aes(x=time,y=sqrt(av)),color="blue")+
      scale_x_log10()+
      scale_y_log10()+
      labs(x=expression(paste("Averaging Time ",tau," (seconds)")),y="Allan Deviation (per mil)")

上面的绘图仅缺少图例以显示两个绘图数据集的名称及其各自的颜色。我想要图例顶部中心的图例。

如何为图例标题加上上标?:

ggplot()+
  geom_line(data=avar.data.y,aes(x=time,y=sqrt(av), 
color =expression(paste("Delta ",18^,"O"))))+
  geom_line(data=avar.data.xmod,aes(x=time,y=sqrt(av), 
color=expression(paste("Delta ",13^,"C"))))+
  scale_color_manual(values = c("blue", "red"),name=NULL) +
  scale_x_log10()+
  scale_y_log10()+
  labs(
    x=expression(paste("Averaging Time ",tau," (seconds)")),
    y="Allan Deviation (per mil)") + 
  theme(legend.position = c(0.5, 0.9))

color在内设置并向您的绘图aes添加scale_color_函数应该可以解决问题。

ggplot()+
  geom_line(data=avar.data.y,aes(x=time,y=sqrt(av), color = "a"))+
  geom_line(data=avar.data.x,aes(x=time,y=sqrt(av), color="b"))+
  scale_color_manual(
    values = c("red", "blue"),
    labels = expression(avar.data.x^2, "b")
  ) +
  scale_x_log10()+
  scale_y_log10()+
  labs(
    x=expression(paste("Averaging^2 Time ",tau," (seconds)")),
    y="Allan Deviation (per mil)") + 
  theme(legend.position = c(0.5, 0.9))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中合并多个数据框?

如何使用dplyr连接多个数据框?

如何选择两列以使用数据框进行绘制?

如何从多个数据框列中创建单独的列表?

如何从数据框中的列中选择多个特定值以进行绘图

如何使用嵌套的for循环创建多个数据框

Gnuplot-如何使用文件中的两个数组和数据进行绘图

如何同时在多个数据框中更改列名?

如何使用lapply()创建多个数据框?

如何遍历多个数据框并在python中将值添加到新数据框

如何使用多种功能创建多个数据框

比较多个数据框使用二进制值添加新的列填充以进行匹配

如何从数据框列表中添加单个数据框

如何在R中的SQLDF中使用LIKE在多个数据框中搜索文本

如何使用R中的映射文件更改多个数据框中的列名?

如何使用xlswritter对单个工作表中的多个数据框使用自动筛选

Plotly-Dash:如何在字典的多个数据框中的多个列之间进行选择?

如何处理在文本框中输入的多个数据类型值以进行搜索

添加多个数据框分组

使用Python中的条件对多个数据框列进行分组和比较

如何在多个数据框中查找列的位置

如何使用多个foursquare查询进行循环并将每个新查询添加到数据框中

如何使用存储在 R 中的另外两个数据框中的列顺序从数据框中进行选择?

如何对多个数据框python使用条件if/else

如何同时从多个数据框中删除列?

对多个数据框进行子集化并聚合它们以有效地进行绘图

如何使用 2 个数据框中的循环数据进行搜索和替换?

Pandas:如何使用for循环合并多个数据框?

如何在 pandas 数据框中组织多个股票数据以进行绘图