使用 R 在 facet_wrap 上以 chr 类型格式化 x 轴日期
Format x-axis date in chr type on facet_wrap using R
*** 更新了代码,使其可重现。 ***
此问题与使用 RStudio 的 R 有关。
我需要将 x 轴上的日期格式化为三个字母的月份和两位数的日期,如下所示 (Mar 01)。
日期本身就是一个数据框 date.local,类型为“chr”,格式为:2021-04-10T20:00:00+02:00
这是我在 R 上使用的代码:
measurements_page <- fromJSON("https://api.openaq.org/v2/measurements?coordinates=41.385063,2.173404&radius=1200&limit=2000#/")
measurements_df <- as_tibble(measurements_page$results)
# Tried as.Date() but I couldn't get it to work
#as.Date(measurements_df$date$local, format = "%m/%d/%Y" )
measurements_df %>%
ggplot() +
geom_line(mapping = aes(
x = date$local,
y = value,
group = 1
)) +
facet_wrap(~ parameter, scales = "free_y")
它应该看起来像这样:
但看起来像这样:
在我看来,这些日期在长格式中都是相互叠加的。
我该如何解决这个问题?
我试过这个:
as.Date(measurements_df$date$local, format = "%m/%d/%Y" )
但我得到了所有 NA
感谢您的帮助。请谢谢!
我刚刚将 x 变量 aes
包装在 as.Date
周围,它在我的 window
中起作用
measurements_df %>%
ggplot() +
geom_line(mapping = aes(
x = as.Date(date$local),
y = value,
group = 1
)) +
facet_wrap(~ parameter, scales = "free_y")
虽然已经有一个,但这里还有一个。
我对这些数据的折线图有些怀疑,见下面的散点图。
library(dplyr)
library(ggplot2)
measurements_page <- jsonlite::fromJSON("https://api.openaq.org/v2/measurements?coordinates=41.385063,2.173404&radius=1200&limit=2000#/")
measurements_page %>%
magrittr::extract2("results") %>%
mutate(date_local = as.Date(date$local)) %>%
ggplot(aes(date_local, value)) +
#geom_line() +
geom_point() +
xlab("Date local") +
facet_wrap(~ parameter, scales = "free_y")
*** 更新了代码,使其可重现。 ***
此问题与使用 RStudio 的 R 有关。
我需要将 x 轴上的日期格式化为三个字母的月份和两位数的日期,如下所示 (Mar 01)。
日期本身就是一个数据框 date.local,类型为“chr”,格式为:2021-04-10T20:00:00+02:00
这是我在 R 上使用的代码:
measurements_page <- fromJSON("https://api.openaq.org/v2/measurements?coordinates=41.385063,2.173404&radius=1200&limit=2000#/")
measurements_df <- as_tibble(measurements_page$results)
# Tried as.Date() but I couldn't get it to work
#as.Date(measurements_df$date$local, format = "%m/%d/%Y" )
measurements_df %>%
ggplot() +
geom_line(mapping = aes(
x = date$local,
y = value,
group = 1
)) +
facet_wrap(~ parameter, scales = "free_y")
它应该看起来像这样:
但看起来像这样:
在我看来,这些日期在长格式中都是相互叠加的。
我该如何解决这个问题?
我试过这个:
as.Date(measurements_df$date$local, format = "%m/%d/%Y" )
但我得到了所有 NA
感谢您的帮助。请谢谢!
我刚刚将 x 变量 aes
包装在 as.Date
周围,它在我的 window
measurements_df %>%
ggplot() +
geom_line(mapping = aes(
x = as.Date(date$local),
y = value,
group = 1
)) +
facet_wrap(~ parameter, scales = "free_y")
虽然已经有一个
我对这些数据的折线图有些怀疑,见下面的散点图。
library(dplyr)
library(ggplot2)
measurements_page <- jsonlite::fromJSON("https://api.openaq.org/v2/measurements?coordinates=41.385063,2.173404&radius=1200&limit=2000#/")
measurements_page %>%
magrittr::extract2("results") %>%
mutate(date_local = as.Date(date$local)) %>%
ggplot(aes(date_local, value)) +
#geom_line() +
geom_point() +
xlab("Date local") +
facet_wrap(~ parameter, scales = "free_y")