小编M M*_*son的帖子

尝试映射 geom_vline 的值,但未使用 R 中的 ggplot 在 x 轴上的正确位置绘制

我目前正在尝试生成 NOAA 潮汐预测图表(x = 日期时间,y = 水位),其中黎明/日出/黄昏/日落时间作为沿 x 轴时间线的垂直线。

rnoaa 包调用数据并给出 POSIXct 中的预测日期时间。suncalc 库为我提供了一个数据框,其中包含日出、日落等范围内的每个日期,也采用 POSIXct 格式。

library(rnoaa)
library(tidyverse)
library(ggplot2)
library(suncalc)
march.tides <- as.data.frame(coops_search(station_name = 8551762, 
                                          begin_date = 20200301, end_date = 20200331, 
                                          datum = "mtl", product = "predictions"))
march.tides <- march.tides %>%
  mutate(yyyy.mm.dd = as.Date(predictions.t))
dates <- unique(march.tides$yyyy.mm.dd)
sunlight.times <- getSunlightTimes(date = seq.Date(as.Date("2020/3/1"), as.Date("2020/3/31"), by = 1), 
                lat = 39.5817, lon = -75.5883, tz = "EST")
Run Code Online (Sandbox Code Playgroud)

然后我有一个循环,为每个日历日期吐出单独的图 - 这很有效。垂直线在图表上绘制时没有错误,但绝对位于错误的位置(日出是在上午 11 点左右绘制的,而实际上应该是 06:30)。

for (i in seq_along(dates)) {
  plot <- ggplot(subset(march.tides, march.tides$yyyy.mm.dd==dates[i])) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 rnoaa

5
推荐指数
1
解决办法
637
查看次数

标签 统计

ggplot2 ×1

r ×1

rnoaa ×1