如何重新格式化情节图例以说出实际日期,但保留 DOY?

问题描述 投票:0回答:1

我想绘制多年(2021-2023)湖泊深度(y 轴)和温度(x 轴)的时间序列数据。

由于一个月内有多个样本采集日期,我想按年份 (DOY) 进行着色/填充以区分每个采样日期,但我想重新格式化图例栏以说出实际日期。

我对 Stack Overflow 还很陌生,所以我对我的问题格式表示歉意。

我正在使用的数据类型的示例 DataFrame。这是 2021 年的子集,但我有 2021-2023 年的数据。

library(tidyverse)

Temperature <- tibble(Depth = (c('1' ,'2', '3' , '1', '2', '3')),
Date = c('1/18/2021', '1/18/2021', '1/18/2021', '3/11/2021', '3/11/2021', '3/11/2021'),
DOY = c('18', '18', '18', '70', '70', '70'),
Temp = c('1', '2.5', '3.5', '1.2', '2.0', '2.5'))

Temperature %>%
ggplot(aes(x = Temp, y = Depth, colour = DOY, group = DOY))+
geom_point()+
geom_path()+
scale_y_reverse(limits = c(5,0)) +
scale_x_continuous(limits = c(0,4))+
theme_bw()

我还附上了我的绘图示例。在此处输入图像描述

r time-series
1个回答
0
投票

也许最简单的方法是根据 DOY 创建一个日期变量(一年内,例如 2024 年):

Temperature %>%
  mutate(across(c(Depth, DOY, Temp), as.numeric)) |>
  mutate(Date = mdy(Date)) |>
  mutate(DOY2 = ymd(20231231) + DOY) |>
  
  ggplot(aes(x = Temp, y = Depth, colour = DOY2, group = DOY2))+
  geom_point()+
  geom_path()+
  scale_y_reverse(limits = c(5,0)) +
  scale_x_continuous(limits = c(0,4))+
  theme_bw()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.