[R] How to plot both lines and points by group on ggplot2
Bert Gunter
bgunter@4567 @end|ng |rom gm@||@com
Sat Jul 1 20:57:50 CEST 2023
... and so ignore my previous missive, as you *did* provide data.
Sorry for the noise.
-- Bert
On Sat, Jul 1, 2023 at 11:53 AM Chris Evans via R-help
<r-help using r-project.org> wrote:
>
> [Whoops, forgot that default reply-to is to the sender.]
>
>
> On 01/07/2023 19:20, Luigi Marongiu wrote:
> > Hello,
> > I have a dataframe with measurements stratified by the concentration
> > of a certain substance. I would like to plot the points of the
> > measures and connect the points within each series of concentrations.
> > When I launch ggplot2 I get the error
> > ```
> > geom_path: Each group consists of only one observation. Do you need to
> > adjust the
> > group aesthetic?
> > ```
> > and no lines are drawn.
> > Where am I going wrong?
> > Thank you
> > Luigi
> >
> > ```
> > df = data.frame(Conc = c(rep(1, 3), rep(2, 3), rep(5, 3)),
> > Time = rep(1:3, 3),
> > Value = c(0.91, 0.67, 0.71, 0.91, 0.65, 0.74, 0.95, 0.67, 0.67))
> > df$Time <- as.factor(df$Time)
> > levels(df$Time) = c(1, 4, 24)
> > df$Conc <- as.factor(df$Conc)
> > levels(df$Conc) = c(1, 2, 5)
> > library(ggplot2)
> > ggplot(df, aes(x=Time, y=Value, colour=Conc)) +
> > geom_point(size=6) +
> > geom_line(aes(x=Time, y=Value, colour=Conc)) +
> > scale_colour_manual(values = c("darkslategray3", "darkslategray4",
> > "deepskyblue4")) +
> > ggtitle("Working example") +
> > xlab(expression(bold("Time (h)"))) +
> > ylab(expression(bold("Concentration (mM)")))
> > ```
>
> If I understand what you want then I think all you need is to add "group
> = Conc". That's what that message is telling you.
>
> df = data.frame(Conc = c(rep(1, 3), rep(2, 3), rep(5, 3)),
> Time = rep(1:3, 3),
> Value = c(0.91, 0.67, 0.71, 0.91, 0.65, 0.74, 0.95,
> 0.67, 0.67))
> df$Time <- as.factor(df$Time)
> levels(df$Time) = c(1, 4, 24)
> df$Conc <- as.factor(df$Conc)
> levels(df$Conc) = c(1, 2, 5)
> library(ggplot2)
> ggplot(df, aes(x=Time, y=Value, colour=Conc, group = Conc)) +
> geom_point(size=6) +
> geom_line(aes(x=Time, y=Value, colour=Conc)) +
> scale_colour_manual(values = c("darkslategray3", "darkslategray4",
> "deepskyblue4")) +
> ggtitle("Working example") +
> xlab(expression(bold("Time (h)"))) +
> ylab(expression(bold("Concentration (mM)")))
>
> Very best,
>
>
> Chris
>
> --
> Chris Evans (he/him)
> Visiting Professor, UDLA, Quito, Ecuador & Honorary Professor, University of Roehampton, London, UK.
> Work web site: https://www.psyctc.org/psyctc/
> CORE site: http://www.coresystemtrust.org.uk/
> Personal site: https://www.psyctc.org/pelerinage2016/
> Emeetings (Thursdays): https://www.psyctc.org/psyctc/booking-meetings-with-me/
> (Beware: French time, generally an hour ahead of UK)
> <https://ombook.psyctc.org/book>
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list