【发布时间】:2021-04-11 03:38:35
【问题描述】:
*** 更新了代码,使其可重现。 ***
这个问题与使用 RStudio 的 R 相关。
我需要将 x 轴上的日期格式化为三个字母的月份和两位数的日期,如下所示(3 月 1 日)。
日期本身就是一个数据框,如 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 的
感谢您的帮助。请,谢谢!
【问题讨论】:
-
1)
date$local和value是独立的数据集?这不是一个好主意。 2)您可以发布示例数据吗?像这样,问题的问题是不可重现的; 3)见scale_x_datetime,论据date_labels = "%b %d"。 -
更新了代码。 date 是主数据框中的数据框。我希望我能正确解释这一点。
-
@Rui Barradas。谢谢你瑞巴拉达斯。我尝试在数据集上使用来自 lubridate 的
ymd(),但没有成功。date.utc没有变化。您如何确定 date$lcoal 和 value 是单独的数据集?提前致谢。 -
要设置数据的结构,请使用
str()。你会看到date是一个变量的data.frame,所以date$local是要在x 轴上绘制的向量。 (或date$utc)。