Как создать логарифмический график в R


Логарифмический график — это график, в котором используются логарифмические шкалы как по оси X, так и по оси Y.

Этот тип графика полезен для визуализации двух переменных, когда истинная связь между ними подчиняется некоторому степенному закону.

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

Метод 1: создание логарифмического графика в Base R

Предположим, у нас есть следующий набор данных в R:

#create data
df <- data.frame(x=3:22,
 y=c(3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29,
 38, 40, 50, 56, 59, 70, 89, 104, 130))

#create scatterplot of x vs. y
plot(df$x, df$y, main='Raw Data')

Ясно, что связь между переменными x и y подчиняется степенному закону.

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

#create log-log plot of x vs. y
plot( log (df$x), log (df$y), main='Log-Log Plot')

Обратите внимание, что связь между log(x) и log(y) гораздо более линейна по сравнению с предыдущим графиком.

Способ 2: создание графика логарифмического журнала в ggplot2

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

library (ggplot2) 

#create data
df <- data.frame(x=3:22,
 y=c(3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29,
 38, 40, 50, 56, 59, 70, 89, 104, 130))

#define new data frame
df_log <- data.frame(x= log (df$x),
 y= log (df$y))

#create scatterplot using ggplot2
ggplot(df_log, aes (x=x, y=y)) +
 geom_point()

Не стесняйтесь настраивать заголовок, метки осей и тему, чтобы сделать график более эстетичным:

ggplot(df_log, aes (x=x, y=y)) +
 geom_point() +
 labs(title='Log-Log Plot', x='Log(x)', y='Log(y)') +
 theme_minimal() 

Дополнительные ресурсы

Как построить несколько линий на одном графике в R
Как построить несколько блочных диаграмм на одной диаграмме в R
Как создать столбчатую диаграмму с накоплением в R