I want to annotate the black dashed line with an arrow and the text "training". But the annotate function annotates all the facets. I just want the arrow in the "remembered/cen" facet only.
Here's my dataset:
data10 <- structure(list(Group = c("Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Visible", "Visible", "Visible", "Visible",
"Visible", "Visible", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered", "Remembered",
"Remembered", "Remembered", "Remembered", "Remembered"), Condition = c("CEN",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "IPS", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "CEN", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "IPS", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN", "CEN",
"CEN", "CEN", "CEN", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS", "IPS",
"IPS"), test = c("Pre-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test", "Pre-test", "Pre-test", "Pre-test",
"Pre-test", "Pre-test", "Pre-test", "Pre-test", "Pre-test", "Post-test",
"Post-test", "Post-test", "Post-test", "Post-test", "Post-test",
"Post-test", "Post-test"), trial = c(1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), Variables = c("Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Eye movement time", "Eye movement time", "Eye movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time", "Hand movement time", "Hand movement time",
"Hand movement time"), Eye_Mx = c(1.150583333, 1.273916667, 1.213083333,
1.065166667, 1.2373, 1.19925, 0.93675, 0.950833333, 0.616916667,
0.440416667, 0.598083333, 0.618583333, 0.693545455, 0.667583333,
0.873666667, 0.51825, 1.220454545, 1.034583333, 0.874583333,
1.015166667, 0.532222222, 0.714454545, 0.905583333, 0.898333333,
0.641666667, 0.787666667, 0.609833333, 0.623583333, 0.69925,
0.7188, 0.61725, 0.661166667, 1.349, 1.585416667, 1.0145, 1.201090909,
0.810545455, 0.591090909, 1.1416, 0.697166667, 0.431166667, 0.804583333,
0.289666667, 0.63875, 0.46825, 0.633, 0.418833333, 0.691166667,
1.219125, 0.7033, 0.524666667, 0.724818182, 0.648583333, 0.639181818,
0.596583333, 0.509416667, 0.576272727, 0.483222222, 0.388222222,
0.647, 0.42575, 0.269818182, 0.488333333, 0.5903, 1.869083333,
2.066181818, 2.124166667, 2.31525, 2.0943, 1.93625, 1.786916667,
1.922583333, 1.470833333, 1.421454545, 1.519083333, 1.508833333,
1.575909091, 1.5135, 1.8025, 1.541, 1.800454545, 1.888666667,
1.85575, 2.201666667, 1.55725, 1.7781, 1.748, 1.767583333, 1.489333333,
1.4259, 1.436916667, 1.5855, 1.535666667, 1.4013, 1.3855, 1.356666667,
1.852888889, 2.463636364, 2.031, 2.195727273, 1.804454545, 1.709090909,
2.1938, 1.97625, 1.256833333, 1.704363636, 1.418083333, 1.371166667,
1.459166667, 1.46725, 1.183666667, 1.407, 2.348625, 1.8981, 1.973583333,
1.746727273, 1.6805, 1.963, 1.68075, 1.872583333, 1.345636364,
1.339222222, 1.311222222, 1.316833333, 1.215833333, 1.053636364,
1.415916667, 1.2292), sd = c(0.948671172, 0.678775831, 0.820965004,
0.771358286, 1.11350558, 0.598444974, 0.794668727, 0.824723627,
0.481933503, 0.314103185, 0.469586754, 0.576648697, 0.629203681,
0.528873667, 0.975212642, 0.406696922, 0.986302019, 0.821480975,
0.776634401, 0.804389643, 0.52690957, 0.881839936, 0.881676756,
0.842954149, 0.49820502, 0.551171205, 0.611370269, 0.630794947,
0.605911653, 0.612136659, 0.504005614, 0.478993231, 0.896792758,
1.545713396, 1.479810742, 1.481512366, 1.016337185, 0.827241616,
1.987092303, 0.874371549, 0.557526165, 1.312183015, 0.163762763,
1.081580084, 0.682258832, 0.99675364, 0.582176455, 1.069035235,
1.352635886, 1.003522136, 0.705413397, 0.93395362, 0.764277848,
0.989686599, 0.875251492, 0.582424316, 0.618786084, 0.971365119,
0.4453251, 1.057255968, 0.710771044, 0.157439397, 0.584064339,
0.966582301, 0.807429305, 0.578682092, 0.911954428, 1.146678771,
0.977409848, 0.7173858, 0.692368328, 0.84760684, 0.426626052,
0.392027133, 0.463031406, 0.346331904, 0.435984278, 0.625301164,
0.733525794, 0.468399014, 0.911551574, 0.845252338, 0.560227896,
1.191183013, 0.503701088, 0.686482249, 0.812501692, 0.649220856,
0.448065201, 0.520082782, 0.465629478, 0.601450142, 0.498518229,
0.432112652, 0.422273393, 0.374147354, 0.631002663, 1.659917846,
1.024954525, 1.202822771, 0.652806306, 0.768222032, 1.742846509,
0.782477781, 0.398411581, 0.98639944, 0.580826286, 0.781519247,
0.683742619, 0.717473487, 0.26632937, 0.748351886, 1.884740371,
0.875399141, 0.661320505, 0.703044393, 0.49535084, 0.954243365,
0.645801986, 1.293963499, 0.649359573, 0.623769945, 0.256283426,
0.8611224, 0.495113363, 0.158687285, 0.522609442, 0.635988959
), se = c(0.273857778, 0.195945704, 0.236992183, 0.222671957,
0.352121382, 0.172756183, 0.229401102, 0.238077204, 0.139122219,
0.090673779, 0.135558019, 0.16646414, 0.189712048, 0.152672677,
0.281519641, 0.117403289, 0.297381248, 0.237141131, 0.22419504,
0.232207288, 0.175636523, 0.265884745, 0.254518156, 0.243339902,
0.143819401, 0.159109422, 0.176487395, 0.182094816, 0.174911628,
0.193574608, 0.145493889, 0.138273435, 0.298930919, 0.446209023,
0.467957245, 0.446692786, 0.306437191, 0.249422732, 0.62837376,
0.252409325, 0.160943941, 0.378794609, 0.047274238, 0.312225276,
0.19695116, 0.287737991, 0.168059866, 0.30860389, 0.478229004,
0.317341563, 0.203635307, 0.281597612, 0.220628011, 0.298401737,
0.252663342, 0.168131418, 0.186571024, 0.323788373, 0.1484417,
0.305203509, 0.205181927, 0.047469764, 0.168604852, 0.305660162,
0.233084763, 0.174479216, 0.263258567, 0.331017649, 0.309084133,
0.207091442, 0.19986952, 0.244683019, 0.123156333, 0.118200628,
0.133665654, 0.099977409, 0.131454206, 0.180508898, 0.211750657,
0.135215148, 0.274843141, 0.244003332, 0.161723863, 0.343864917,
0.178085227, 0.217084748, 0.244978478, 0.187413918, 0.129345282,
0.164464616, 0.134415652, 0.173623701, 0.143909817, 0.136646019,
0.121899828, 0.108007038, 0.210334221, 0.500484062, 0.32411908,
0.362664711, 0.196828507, 0.231627658, 0.551136458, 0.225881879,
0.115011517, 0.297410621, 0.167670106, 0.225605174, 0.197379493,
0.207116755, 0.076882667, 0.216030581, 0.666356349, 0.276825515,
0.190906786, 0.21197586, 0.14299547, 0.2877152, 0.186426975,
0.373535087, 0.195789278, 0.207923315, 0.085427809, 0.248584625,
0.142926917, 0.047846017, 0.150864351, 0.201117368), ci = c(0.602756906,
0.431273588, 0.521616278, 0.490097673, 0.796553907, 0.380233796,
0.504908421, 0.524004393, 0.306205939, 0.199571642, 0.298361189,
0.366385102, 0.422704785, 0.336030297, 0.619620551, 0.258402896,
0.662606712, 0.52194411, 0.493449956, 0.511084796, 0.405018549,
0.59242813, 0.560190685, 0.535587514, 0.316544368, 0.350197476,
0.388446137, 0.400787988, 0.384977898, 0.437896186, 0.320229889,
0.304337779, 0.689335936, 0.982099437, 1.058592834, 0.99529355,
0.682784611, 0.555748479, 1.421480202, 0.555549178, 0.354235225,
0.833721312, 0.104049895, 0.6872032, 0.433486581, 0.633307048,
0.369897272, 0.679232583, 1.1308319, 0.71787649, 0.448198289,
0.627438579, 0.485598977, 0.664880504, 0.556108267, 0.370054755,
0.415706148, 0.746657327, 0.342307174, 0.671748394, 0.451602376,
0.105769226, 0.371096776, 0.691451324, 0.513016105, 0.388763919,
0.5794282, 0.728564932, 0.699196885, 0.455805192, 0.439909848,
0.538543693, 0.271065261, 0.263367411, 0.29419612, 0.220048794,
0.292898224, 0.397297405, 0.466060055, 0.297606535, 0.61238868,
0.537047714, 0.355951823, 0.756841578, 0.421104648, 0.491079817,
0.545846064, 0.412495252, 0.284687047, 0.37204481, 0.295846856,
0.382143188, 0.316743371, 0.30911477, 0.268299713, 0.237721887,
0.485031584, 1.115147982, 0.733208298, 0.808067333, 0.438561244,
0.516098584, 1.246757287, 0.497162663, 0.253138642, 0.66267216,
0.369039416, 0.49655364, 0.434429334, 0.455860905, 0.169217609,
0.475480104, 1.575682382, 0.626222821, 0.420183003, 0.47231165,
0.314730908, 0.641069416, 0.410323006, 0.822145184, 0.436245697,
0.479472024, 0.19699688, 0.54713107, 0.314580023, 0.106607569,
0.332050198, 0.454959094)), class = c("spec_tbl_df", "tbl_df",
"tbl", "data.frame"), row.names = c(NA, -128L), spec = structure(list(
cols = list(Group = structure(list(), class = c("collector_character",
"collector")), Condition = structure(list(), class = c("collector_character",
"collector")), test = structure(list(), class = c("collector_character",
"collector")), trial = structure(list(), class = c("collector_double",
"collector")), Variables = structure(list(), class = c("collector_character",
"collector")), Eye_Mx = structure(list(), class = c("collector_double",
"collector")), sd = structure(list(), class = c("collector_double",
"collector")), se = structure(list(), class = c("collector_double",
"collector")), ci = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1), class = "col_spec"))
And here's my ggplot
codes:
p <- ggplot(data10, aes(x = trial, y = Eye_Mx))
geom_line(aes(color = Variables, linetype = Variables), lwd=1.2)
scale_color_manual(values = c("darkred", "steelblue")) facet_grid(Condition ~ Group) theme_bw() xlab("Trial Pre- / Post-test") ylab("Hand and Eye Movement time (s)")
scale_x_continuous(limits = c(1,16), breaks = seq(1,16,1)) theme(axis.text.x = element_text(size = 10,face="bold", angle = 90),#, angle = 10, hjust = .5, vjust = .5),
axis.text.y = element_text(size = 10, face = "bold"),
axis.title.y = element_text(vjust= 1.8, size = 16),
axis.title.x = element_text(vjust= -0.5, size = 16),
axis.title = element_text(face = "bold")) theme(legend.position="top")
geom_vline(xintercept=8.5, linetype="dashed", color = "black", size=1.5)
p guides(fill=guide_legend(title="Variables:")) theme(legend.text=element_text(size=14),legend.title=element_text(size=14) )
theme(strip.text = element_text(face="bold", size=12)) annotate("segment", x = 11, xend = 9, y = 4, yend = 3, colour = "black", size=1, alpha=0.9, arrow=arrow())
CodePudding user response:
You can create an additional dataframe (e.g. arrowdf
) which includes the Condition
and Group
that you would like to annotate. I also grouped all of your theme()
arguments so that they are more clear.
arrowdf <- tibble(Condition = "CEN", Group = "Remembered")
ggplot(data10, aes(x = trial, y = Eye_Mx))
geom_line(aes(color = Variables, linetype = Variables), lwd=1.2)
scale_color_manual(values = c("darkred", "steelblue"))
facet_grid(Condition ~ Group)
theme_bw()
xlab("Trial Pre- / Post-test")
ylab("Hand and Eye Movement time (s)")
scale_x_continuous(limits = c(1,16), breaks = seq(1,16,1))
theme(axis.text.x = element_text(size = 10,face="bold", angle = 90),
axis.text.y = element_text(size = 10, face = "bold"),
axis.title.y = element_text(vjust= 1.8, size = 16),
axis.title.x = element_text(vjust= -0.5, size = 16),
axis.title = element_text(face = "bold"),
legend.text=element_text(size=14),
legend.title=element_text(size=14),
strip.text = element_text(face="bold", size=12),
legend.position="top")
geom_vline(xintercept=8.5, linetype="dashed", color = "black", size=1.5)
guides(fill=guide_legend(title="Variables:"))
geom_segment(data = arrowdf,
aes(x = 11, xend = 9, y = 4, yend = 3),
colour = "black", size = 1, alpha=0.9, arrow = arrow())