将 POSICXT x 轴更改为选定标签

问题描述

我有 19 天(9 月 11 日至 30 日)每 30 分钟采集一次温度数据,我想更改我的 x 轴标签显示每天或每隔一天,并将其标记为“第 1 天”、“第 1 天” 3",(...),而不是仅按日期标记的三天(“9 月 14 日”),如下一个链接所示:温度图。

enter image description here

时间数据在 POSIXCT 类中。我附上了我使用的 ggplot 编码。我要离开 #scale_x_datetime 来展示我失败的解决方案之一。

hoboplot <- ggplot(hobo,aes(x=time,y=Temperatura,color=Tratamiento))+
  geom_path(size=0.86)+
  scale_color_manual(values=c("#2166AC","#92C5DE","#FDDBC7","#D6604D","#B2182B"))+
#  scale_x_datetime(labels=c("1","3","5","7","9","11","13","15","17","19"),#                 breaks = c(1,3,5,7,9,11,13,15,17,19))+
  theme_classic(base_size=18)+
  labs(x="Días",y="Temperatura (°C)")+
  geom_hline(yintercept=10,linetype="dashed",color = "#2166AC")+
  geom_hline(yintercept=14,color = "#92C5DE")+
  geom_hline(yintercept=18,color = "#FDDBC7")+
  geom_hline(yintercept=22,color = "#D6604D")+
  geom_hline(yintercept=26,color = "#B2182B")+
  theme(legend.position = "right")+
  guides(color=guide_legend(reverse=TRUE))  

非常感谢您的帮助!

解决方法

尝试使用 -

+ scale_x_datetime(date_breaks = '2 days',labels  = function(x) paste('Day',as.Date(x) - min(as.Date(x),na.rm = TRUE) + 1))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...