R-双对数密度图
R- double-log density plot
我使用 "poweRlaw" 包生成了一个幂律分布的数据集,代码如下:
library("poweRlaw")
xmin = 1; alpha = 1.5
con_rns = rplcon(1000, xmin, alpha)
如何获得数据集中所有 m 的对数-对数图,其中 x 轴显示 log(m),y 轴显示 log(freq(m))?
我推荐 ggplot2
包,因为它简单易学,用途广泛,使用广泛。
#your code
library("poweRlaw")
xmin = 1; alpha = 1.5
con_rns = rplcon(1000, xmin, alpha)
#loading ggplot2
require(ggplot2)
#convert to data.frame format for ggplot2
df <- as.data.frame(con_rns)
#make plot with both axes log scale
ggplot(data = df, aes(x = con_rns)) +
geom_line(stat = 'bin', binwidth = 0.1) +
scale_x_log10() +
scale_y_log10()
我得到了解决方案:
library("poweRlaw")
xmin = 1; alpha = 1.5
x = rplcon(1000, xmin, alpha)
h <- hist(x, plot=F, breaks=c(seq(0,max(x)+1, .1)))
plot(h$counts, log="xy", pch=20, col="blue",xlab="Value", ylab="Frequency")
我使用 "poweRlaw" 包生成了一个幂律分布的数据集,代码如下:
library("poweRlaw")
xmin = 1; alpha = 1.5
con_rns = rplcon(1000, xmin, alpha)
如何获得数据集中所有 m 的对数-对数图,其中 x 轴显示 log(m),y 轴显示 log(freq(m))?
我推荐 ggplot2
包,因为它简单易学,用途广泛,使用广泛。
#your code
library("poweRlaw")
xmin = 1; alpha = 1.5
con_rns = rplcon(1000, xmin, alpha)
#loading ggplot2
require(ggplot2)
#convert to data.frame format for ggplot2
df <- as.data.frame(con_rns)
#make plot with both axes log scale
ggplot(data = df, aes(x = con_rns)) +
geom_line(stat = 'bin', binwidth = 0.1) +
scale_x_log10() +
scale_y_log10()
我得到了解决方案:
library("poweRlaw")
xmin = 1; alpha = 1.5
x = rplcon(1000, xmin, alpha)
h <- hist(x, plot=F, breaks=c(seq(0,max(x)+1, .1)))
plot(h$counts, log="xy", pch=20, col="blue",xlab="Value", ylab="Frequency")