如何在 r 中创建双对数图


对数图是在 x 轴和 y 轴上都使用对数刻度的图。

当两个变量之间的真实关系遵循某种类型的幂律时,这种类型的图对于可视化两个变量非常有用。

本教程介绍如何使用 R 基础和ggplot2数据可视化包在 R 中创建双对数图。

方法 1:在 Base R 中创建双对数图

假设我们在 R 中有以下数据集:

 #createdata
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 ')

很明显,变量xy之间的关系遵循幂律。

以下代码显示了如何在基本 R 中为这两个变量创建双对数图:

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

以 R 为基础的双对数图

请注意,与上图相比,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() 

使用 ggplot2 在 R 中绘制对数图

其他资源

如何在R中绘制多条线
如何在 R 中的单个图中绘制多个箱线图
如何在 R 中创建堆积条形图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注