首页 > 解决方案 > X 轴日期不按时间顺序

问题描述

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

我目前正在阅读一个 CSV 文件,该文件的设置如下1

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

我得到了图表:

该图首先在 x 轴上显示第 5 个月,当我希望它按时间顺序(又名 4 月 - 第 4 个月)首先出现时。

我的代码如下(请忽略 geom_hline 和轴元素空白 - 这是一个方面的 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 轴刻度(我觉得我在尝试修复时用尽了我的选择

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

EDT:按照第一条评论的建议使用 +scale_x_date(breaks=unique(F1ambH$dates)) 似乎可以解决我的问题,但是这些点现在位于图表的另一侧,看起来很可怕,有没有办法清理起来了吗? 数字

标签: rdateggplot2axislubridate

解决方案


使用您的第二种解决方案,但使用

+scale_x_date(breaks=unique(dates))

指定您想要断点的位置。


推荐阅读