как определить ось х на 1 вместо 0 - PullRequest
3 голосов
/ 13 апреля 2020

У меня есть ggplot с 7 миллионами значений по оси x. Я пытаюсь использовать масштаб от 1 до 7M с перерывом на каждый миллион. Когда я использую следующий код, моя шкала никогда не начинается с 1. Она всегда будет с 0. Мое первое значение имеет индекс 1. Я пытался использовать xlim , scale_x_continuous , ordin_cartesian и expand_limits . Все дает шкалу оси X, начиная с 0.

Пожалуйста, дайте мне предложение.

scales::demo_continuous(c(1, 7000000), breaks = scales::breaks_width(1000000), labels=scales::label_number_si()) +
theme(axis.text.x = element_text(angle = 90, hjust = 1))

enter image description here

1 Ответ

0 голосов
/ 13 апреля 2020

scale_x_continuous позволяет вам точно определить разрывы, метки и ограничения:

df <- data.frame( x = sample(1:7000000,1000) )
df$y <- df$x


ggplot(df,aes(x,y))+
  geom_point()+
  scale_x_continuous(breaks = seq(1e6,7e6,1e6),
                     labels = paste0(1:7,"M") ,
                     limits = c(1e6,7e6))

enter image description here

...