[R] How to invert axis within defined range with ggplot2 scale_y_reverse?

Luigi Marongiu m@rong|u@|u|g| @end|ng |rom gm@||@com
Tue Mar 5 13:16:41 CET 2024


Hello,
I am drawing some data with ggplot2 and would like to reverse the
order of the y axis and set a custom range for it.
I can do the former but when I add the key `limits` to
`scale_y_reverse` I get an error as shows below and, worse, no data
shown in the plot.
How can I properly set a reverse y scale with a defined range in ggplot2?
Thank you

```
A <- rep(c(0, 3, 6, 12, 24), 3)
B <- c(rep(0,5), rep(1,5), rep(2,5))
V <- c(27.5,    27.01,    27.75,    27.98,    27.4,    25.69,
26.17,    27.78,    26.08,
       24.97,    23.18,    21.78,    22.49,    21.85,    22.2)
df <- data.frame(Conc = A, Time = B, Value = V)
df$Conc = as.factor(df$Conc)
df$Time = as.factor(df$Time)
library(ggplot2)

ggplot(df, aes(x=Time, y=Value, colour=Conc, group=Conc)) +
  geom_line() +
  scale_y_reverse(limits = c(20,30)) +
  geom_point(size=6) +
  scale_colour_manual(values = COLS)

> Warning messages:
1: Removed 15 rows containing missing values (`geom_line()`).
2: Removed 15 rows containing missing values (`geom_point()`).
```



More information about the R-help mailing list