Hello,

You are almost there.

With scale_x_continuous use argument limits.


ggplot(dat = tibDat,
       aes(x = x, y = y)) +
  geom_point() +
  scale_x_continuous(breaks = 1:6, labels = 1:6,
                     limits = c(1, 6))


And with xlim it's not a vector c(1, 6), it's each element on its own:

xlim(1, 6)


Or

lims(x = c(1, 6))


But with these two, the labels are not like you want them, they are 2 by 2.

Hope this helps,

Rui Barradas

Às 10:34 de 10/01/21, Chris Evans escreveu:
[I must try to remember that swapping between Rstudio and my Emailer is a 
recipe for hitting ctrl-enter and posting prematurely: sorry!]

I am sure I am doing something stupid but I can't see what. I am plotting data 
and want the x axis labels to reflect the theoretical range of the x variable 
which happens to be 1:6 but the observed values have range 2.6 to 5.9.

I thought xlim(c(1,6)) should have got me that quite simply but it doesn't. I 
think this is a reproducible example of my failures (!)
library(tidyverse)
library(ggplot2)
x <- seq(2,5.8,.2)
list(x = x,
y = rnorm(length(x))) %>%
as_tibble() -> tibDat

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
xlim(c(1,6))
# x labels on plot are 2, 4 & 6

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
expand_limits(x = c(1,6))
# same

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
scale_x_continuous(breaks = 1:6, labels = 1:6)
# x labelled at 2:5 (why?!)

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
xlim(c(1,6)) +
coord_cartesian(clip = "off")
# back to 2, 4, 6

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
xlim(c(1,6)) +
coord_cartesian(expand = TRUE)
# same

### OK, getting desperately hopeful
ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
xlim(c(0,6))
# x axis has 0, 2, 4 and 6 (surely inconsistent behaviour?)

ggplot(dat = tibDat,
aes(x = x, y = y)) +
geom_point() +
xlim(c(0.1,6))
# x axis has 0, 2, 4 and 6

Can anyone see the simple answer that is eluding me?!

TIA,

Chris



______________________________________________
R-help@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.

Reply via email to