问题描述
在下面的小数据集中,我想在x轴上绘制日期值。我希望对数据框中存在的日期的所有滴答进行标记。目前,它仅标记3个随机刻度。我可以将列更改为一个因子,但是将其作为日期意味着x轴根据点之间的时间间隔进行了间隔。到目前为止,我唯一能找到的答案是每个月或至少等间隔时间要显示的问题。我只想显示数据集中的值。谢谢
In the following little dataset, I would like to plot date values on the x axis. I want all ticks of the dates present in the dataframe to be labelled. At the moment it is only labelling 3 random ticks. I could change the column to a factor, but having as a date means the x axis is spaced according to the time interval between points. So far the only answers I can find are for questions that want to show every month, or at least equally spaced time intervals. I just want to show the values in my dataset. Thank you
数据:
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()
图解:
推荐答案
您可以提供 melt $ Sample
作为中断。您可能还希望旋转轴标签以避免重叠。
You can supply melt$Sample
as the breaks. You'll probably also want to rotate the axis labels to avoid overlap.
ggplot(melt, aes(x = Sample, y = value, colour = variable, group = variable)) +
facet_wrap(~Treatment) +
geom_point() +
geom_line() +
scale_x_date(breaks = melt$Sample) +
theme(axis.text.x = element_text(angle = 90))
这篇关于在ggplot x轴上显示所有日期值-R的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!