如何在R中创建具有对数x轴和y轴的直方图?

如何在R中创建具有对数x轴和y轴的直方图?,r,histogram,lattice,R,Histogram,Lattice,因此,我有一个整数向量,引号,我希望通过绘制数据点的频率并使x轴和y轴都对数,来观察它是否遵循幂律分布。然而,我不太确定如何在R中实现这一点。我目前可以使用 hist(quotes, breaks = max(quotes)) 但是轴都是线性的。可能有更好的方法,但这(基本上)是有效的: data=rnorm(1000,0,1) r可能有更好的方法,但这(基本上)是有效的: data=rnorm(1000,0,1) 直方图只是一个散点图。您可以使用type='h'将其制作成细条形图。另外,我在

因此,我有一个整数向量,
引号
,我希望通过绘制数据点的频率并使x轴和y轴都对数,来观察它是否遵循幂律分布。然而,我不太确定如何在R中实现这一点。我目前可以使用

hist(quotes, breaks = max(quotes))

但是轴都是线性的。

可能有更好的方法,但这(基本上)是有效的:

data=rnorm(1000,0,1)

r可能有更好的方法,但这(基本上)是有效的:

data=rnorm(1000,0,1)

直方图只是一个散点图。您可以使用
type='h'
将其制作成细条形图。另外,我在第二个版本中遗漏了$breaks,但我认为您仍然需要它们。修改了我的回答。啊哈,谢谢,效果很好!顺便问一下,从中断中删除第一个元素的原因是什么?中断向量比计数向量长一个元素。仅仅从向量中去掉一端或另一端是可行的,但有点懒惰:你真正想要的是每对“断点”之间的中值。我将把它作为练习留给读者;)r$breaks[-1]有什么作用?@PhilGoetz我已经在评论中回答了这个问题。看看你上面的评论,直方图只是一个散点图。您可以使用
type='h'
将其制作成细条形图。另外,我在第二个版本中遗漏了$breaks,但我认为您仍然需要它们。修改了我的回答。啊哈,谢谢,效果很好!顺便问一下,从中断中删除第一个元素的原因是什么?中断向量比计数向量长一个元素。仅仅从向量中去掉一端或另一端是可行的,但有点懒惰:你真正想要的是每对“断点”之间的中值。我将把它作为练习留给读者;)r$breaks[-1]有什么作用?@PhilGoetz我已经在评论中回答了这个问题。看看你上面的评论。
data = rnorm(1000,0,1)
r <- hist(log(data))
plot(r$breaks[-1],log(r$counts))
r <- hist(data)
plot(r$breaks[-1], r$counts, log='xy', type='h')
# or alternatively:
barplot(r$counts, log="y", col="white", names.arg=r$breaks[-1])