首页 > 解决方案 > 如何在格图中使用 panel.text() 将文本标签插入数据点(不在数据中)

问题描述

我根据数据创建了一个散点图(请参阅下面的 rcode 和数据)。y 轴显示在蒸腾过程中从树木木质部测量的平均液流速率,x 轴显示平均环境温度

在散点图中,显示了5 个点。每个点显示平均温度如何影响5 个月期间 (即 6 月至 10 月)的平均树液流率。

问题

数据框中的第一列(见下文)称为“日期”,由 5 行组成,分别名为“六月”、“七月”、“八月”、“九月”和“十月”

我的总体目标是用表示这 5 个月的文本标签(即在数据的第 1 列中找到)在格子图中(如下所示)标记五个数据点(即从左到右标记 - 数据点 1 到数据点 5)下面提供的框架)但不要让文本与趋势线重叠,以便于阅读(参见下面的格子图):-

例如(见下面的格子图):

  1. 数据点 1 = 标记为六月;
  2. 数据点 2 = 标记为 7 月;
  3. 数据点 3 = 标记为八月;
  4. 数据点 4 = 标记为 Septebmer;
  5. 数据点 5 = 标记为十月;

作为回应,我创建了一个名为Data_labels的向量,并尝试使用 panel.text() 标记格图中的点,以将文本标签插入数据点。

但是,在以不同组合使用panel.text()时,我不断收到这些类型的错误消息。

有人能帮忙吗?如果是这样,我将不胜感激

代码

 ##Produce the date labels for the plot
      Date_labels<-c("June", "July", 
                     "August", "September", 
                     "October")

##Produce lattice plot
xyplot(Mean_Sapflow~Mean_Temperature, 
               data=Summarised_new_mean_sapflow, 
               col="red",
               pch=19,
               xlab="Temperature (°C)",
               ylab=expression(paste("Sapflow Litres day"^{-1})),
               type=c('p', 'smooth'),                  col.line='blue',
               panel.text(0,0, labels=Data_labels))

错误信息:

       Error in grob(label = label, x = x, y = y, just = just, hjust = 
       hjust,  : 
       object 'Data_labels' not found

散点图

在此处输入图像描述

数据:

    structure(list(Date = structure(c(3L, 2L, 1L, 5L, 4L), .Label = c("August", 
"July", "June", "October", "September"), class 
    = "factor"), Mean_Humidity = c(17.6073333333333, 
    21.8006451612903, 18.3896774193548, 14.822, 11.3486666666667), 
        Mean_Radiation = c(263.673333333333, 270.906451612903, 178.98064516129, 
        152.233333333333, 93.6), Mean_Temperature = c(70.5613333333333, 
        61.3306451612903, 71.7335483870968, 72.2136666666667, 81.743
        ), Mean_Sapflow = c(16.067, 23.3567741935484, 22.9416129032258, 
        19.3093333333333, 6.70066666666667)), class = "data.frame", row.names = c(NA, 
    -5L))

标签: rgraphicsscatter-plotlatticetextlabel

解决方案


推荐阅读