这是我第二次尝试提问。我希望这次我能给你一个可复制的例子。
我有一个带有变量 DIS 和日期的 data.frame。我想用 ggplot2 绘制 data.frame。x 轴上的日期,y 轴上的 DIS。
我想将它绘制在两个面板中,但在 y 轴上具有相同的比例。
面板 1:1Q1 至 4Q4。小组 2:P1 到 P3。此外,我想绘制 4 条水平线:
控制组的下限(面板 1 和面板 2 中应相同) 控制组的上限(面板 1 和面板 2 中应相同)面板 1 的 DIS 平均值(应仅在面板 1 中可见) ) 面板 2 的 DIS 平均值(应仅在面板 2 中可见) 我尝试使用 face_grid 和 geom_hline 但如您所见,我得到 19 个面板,并且水平线在所有面板上都可见。
DIS=c(0.1120, 0.1104, 0.3794, 0.3983, 0.3175, 0.2275, 0.2171, 0.1973, 0.2499, 0.1819, 0.2613, 0.2302, 0.3795, 0.2406, 0.2486, 0.2464, 0.1143, 0.2685, 0.2447)
Date=c("1Q1","1Q2","1Q3","1Q4","2Q1","2Q2","2Q3","2Q4","3Q1","3Q2","3Q3","3Q4","4Q1","4Q2","4Q3","4Q4","P1","P2", "P3" )
Bush <- data.frame(Date, DIS)
require (ggplot2)
ggplot(Bush, aes(x = Date, y = DIS))+
geom_point(shape=1)+
ylim(0,0.5)+
geom_hline(aes(yintercept=0.07), linetype="dotted")+ #that's the lower limit of the control group
geom_hline(yintercept=0.19, linetype="dotted")+ # that's the upper limit of the control group
geom_hline(yintercept=mean(Bush$DIS[1:16]), colour="blue")+ # that's the mean of the values from 1Q1 to 4Q4 - it should only range from 1Q1 until 4Q4 on the x-axis
geom_hline(yintercept=mean(Bush$DIS[17:19]), colour="blue")+ # that's the mean of the values from P1 to P3 - it should only range from P1 to P3 on the x-axis
facet_grid(.~ Date, scales="free_x") # it should be grouped in two panels - 1st from 1Q1 to 4Q4, 2nd from P1 to P3
有人可以帮我吗?