Как изменить масштаб осей на R-графиках (с примерами)


Часто вы можете захотеть изменить масштаб, используемый на оси в графиках R.

В этом руководстве объясняется, как изменить масштаб осей на графиках как в base R, так и в ggplot2.

Пример 1: изменение масштаба оси в базе R

Чтобы изменить масштаб оси на графике в базе R, мы можем использовать функции xlim() и ylim() .

Следующий код показывает, как использовать эти функции на практике:

#define data
df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22),
 y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40))

#create plot with default axis scales
plot(df$x, df$y, pch=19, main='Default Axes')

#create plot with custom axis scales
plot(df$x, df$y, pch=19, xlim=c(0,30), ylim=c(0,150), main='Custom Axes')

Обратите внимание, что вы также можете быстро преобразовать одну из осей в логарифмическую шкалу, используя аргумент журнала.Например, следующий код показывает, как преобразовать ось Y в логарифмическую шкалу:

#define data
df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22),
 y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40))

#create plot with log y-axis
plot(df$x, df$y, log='y', pch=19) 

Пример 2: изменение масштаба оси в ggplot2

Чтобы изменить масштаб оси на графике в базе R, мы также можем использовать функции xlim() и ylim() для изменения масштаба оси.

Следующий код показывает, как использовать эти функции на практике:

library (ggplot2)

#define data
df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22),
 y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40))

#create scatterplot with custom axes
ggplot(data=df, aes(x=x, y=y)) +
 geom_point() +
 xlim(0, 30) +
 ylim(0, 150) 

Мы также можем преобразовать любую из осей в логарифмическую шкалу, используя следующие аргументы:

  • scale_x_continuous (транс = 'log10')
  • scale_y_continuous (транс = 'log10')

Например, следующий код показывает, как преобразовать ось Y в логарифмическую шкалу:

library (ggplot2)

#define data
df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22),
 y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40))

#create scatterplot with log y-axis
ggplot(data=df, aes(x=x, y=y)) +
 geom_point() +
 scale_y_continuous(trans='log10') 

Вы можете найти больше руководств по визуализации данных R на этой странице .