在ggplot x轴上显示所有日期值-R

时间:2018-07-31 01:43:35

标签: r date ggplot2

在下面的小数据集中,我想在x轴上绘制日期值。我希望对数据框中存在的日期的所有滴答进行标记。目前,它仅标记3个随机刻度。我可以将列更改为一个因数,但是将其作为日期意味着x轴根据点之间的时间间隔进行间隔。到目前为止,我唯一能找到的答案是每个月或至少等间隔时间要显示的问题。我只想显示数据集中的值。谢谢

数据:

dput(melt)
structure(list(Sample = structure(c(16023, 16023, 16027, 16027, 
16031, 16031, 16035, 16035, 16038, 16038, 16044, 16044, 16023, 
16023, 16027, 16027, 16031, 16031, 16035, 16035, 16038, 16038, 
16044, 16044), class = "Date"), Treatment = structure(c(1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L), .Label = c("T1", "T5"), class = "factor"), 
    variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L
    ), .Label = c("20:5n-3", "20:4n-6"), class = "factor"), value = c(1.21879849498785, 
    1.88548990818282, 1.87990774775065, 1.25350826053539, 3.10352691206175, 
    1.18465888918519, 3.15176346709818, 1.82106970985234, 2.73680349074891, 
    1.58066166099405, 1.43967823968644, 1.51515884762159, 9.25194151767438, 
    9.23279864348857, 14.0535236345336, 9.06572816754405, 9.90634511302451, 
    10.0962470101343, 7.44314990623579, 12.7996706096935, 5.96573623304832, 
    8.070195431115, 2.57433899670204, 11.4388591839374)), row.names = c(NA, 
-24L), class = "data.frame")

代码:

library(ggplot2)

ggplot(melt, aes(x=Sample, y=value, colour=variable, group=variable))+
  facet_wrap(~Treatment)+
  geom_point()+
  geom_line()

情节:

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以在休息时提供melt $ Sample。您可能还希望旋转轴标签以避免重叠。 ggplot(融化,aes(x =样本,y =值,颜色=变量,组=变量))+   facet_wrap(〜治疗)+   geom_point()+   geom_line()+   scale_x_date(breaks = melt $ Sample)+   主题(axis.text.x = element_text(angle = 90))