R-双对数密度图

时间:2015-02-15 03:33:13

标签: r plot loglog

我使用“poweRlaw”包生成了具有幂律分布的数据集,其中包含以下代码:

library("poweRlaw")
xmin = 1; alpha = 1.5
con_rns = rplcon(1000, xmin, alpha)

如何获得一个对数日志图,其中x轴显示log(m),y轴显示数据集中所有m的log(freq(m))?

2 个答案:

答案 0 :(得分:1)

我推荐使用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()

答案 1 :(得分:1)

我得到了解决方案:

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")

enter image description here