r - X轴日期不按时间顺序排列

标签 r date ggplot2 axis lubridate

我是一个 Rstudio 新手,所以我已经搜索了相关问题等,但我仍然无法正确组织我的图表。我无法让图表以正确的时间顺序显示日期。想知道我是否可以让别人看看我的代码和数据,看看我做错了什么(请简单地解释一下,我是新手)。

我当前正在读取一个 CSV 文件,该文件的设置如下 1 :

AdD = 采样日期,AdT = 采样时间,AdV = 浓度值 - 这些是水样本,仅包含两个月内的这两个样本(每月一个)

我得到了图表:

图表在 x Axis 上首先显示第 5 个月,而我希望它按时间顺序(即 4 月 - 4 月)首先出现。

我的代码如下(请忽略空白的 geom_hline 和 axis 元素 - 这是一个方面的 6 个图形之一,这些与我认为/希望的日期问题无关):

F1ambH <- read_csv("data 1 Amb.csv")

f1ambH <- ggplot(data=F1ambH, aes(x=AhD, y=AhV))+  geom_point() +theme_bw()+labs(y= "Concentration (µg/L)", x = "Sample Date") 

f1ambH <- f1ambH + geom_hline(yintercept=1.1, linetype="dashed", color="steelblue")+ theme(axis.title.x = element_blank())+ theme(axis.title.y = element_text(face = "bold", size = 11))

f1ambH

我也尝试过像这样改变数据:

F1ambH <- read_csv("data 1 Amb.csv") %>% mutate(dates = dmy(AhD))

f1ambH <- ggplot(data=dates, aes(x=AhD, y=AhV))+  geom_point() +theme_bw()+labs(y= "Concentration (µg/L)", x = "Sample Date") 

生成此图:

它正确地显示了日期,但是图表上的两个点没有我需要的相应的 x Axis 刻度(我觉得我在尝试修复时已经用尽了我的选择

所以如果我能解决其中任何一个问题那就太棒了。

美国东部时间: 使用第一条评论建议的 +scale_x_date(breaks=unique(F1ambH$dates)) 似乎可以解决我的问题,但这些点现在位于图表的另一侧,看起来很可怕,有没有办法清理它? Figure

最佳答案

使用你的第二个解决方案,但是使用

+scale_x_date(breaks=unique(dates))

指定断点的位置。

关于r - X轴日期不按时间顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62505937/

相关文章:

r - Rgraphviz不再可用于R吗?

r - data.table或dplyr-数据操作

r - 基于因子具有不同高填充颜色的 geom_tile 热图

java - 使用 String.format() 处理日历与日期

python - 转换 Y-m-dTH :M:Sz to datetime to compare

SQL服务器: Get total days between two dates

R ggplot2 facet_grid 与 vars() : how to handle missing argument?

r - 如何防止 kable 在页面之间拆分?

r - 当 x 轴为日期时,无法使用 `loess` 重现 stat_smooth

r - 将离散标签添加到具有连续比例的 ggplot2 图