Примушуйте почати початок з 0


139

Як я можу встановити початок / перехоплення осі y та осі x у ggplot2?

Лінія осі x повинна бути точно на y=Z.

З Z=0чи іншим заданим значенням.

Відповіді:


199

xlimі ylimне рубайте тут. Вам потрібно використовувати expand_limits, scale_x_continuousі scale_y_continuous. Спробуйте:

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for

введіть тут опис зображення

p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))

введіть тут опис зображення

Можливо, вам доведеться трохи відрегулювати речі, щоб переконатися, що точки не відсікаються (див., Наприклад, точка в x = 5і y = 5.


29
Мені також потрібно було вказати межі:, scale_x_continuous(expand = c(0, 0), limits = c(0,5))чомусь без цього не вийшло
JelenaČuklina

3
Я думаю, що ще одна деталь може бути корисною, яка використовує щось подібне, expand=expand_scale(mult=c(0,0.1))щоб ви все-таки отримали
Michael

4

Просто додайте їх у свій ggplot:

+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) + 
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

Приклад

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for


p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) + 
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

введіть тут опис зображення

І, нарешті, взяти більшу обережність , щоб не випадково виключити дані з вашої картки . Наприклад, a position = 'dodge'може призвести до того, що смужка повністю залишиться з діаграми (наприклад, якщо її значення дорівнює нулю, і ви починаєте вісь на нулі), тому ви можете не бачити її і, можливо, навіть не знати, що вона там є. Я рекомендую спочатку нанести дані повністю, перевірити, а потім скористатися вищевказаною порадою, щоб поліпшити естетику сюжету.


чи можна також вбудувати це в нову тему ggplot?
Болле

@Bolle Я не впевнений, але зацікавлений дізнатися також, ви можете задати як окреме запитання та посилання тут
stevec

Посилання тут для подальшого ознайомлення
stevec
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.