【发布时间】:2015-04-05 00:55:26
【问题描述】:
我正在尝试将我拥有的数据绘制为从 0 到 1 的对数刻度的直方图。我尝试只导入我的数据并像这样绘制:
allelefreq <- read.table("allelefreqs.txt", header = TRUE)
allelefreq <- sapply(allelefreq, as.numeric) #convert to numbers
hist(allelefreq, xlim = range(0:1))
但这只是在 0 处向我显示了一个大条,然后为绘图的其余部分显示了空白空间,并且显然不是对数刻度。
我也尝试过使用 ggplot 来做到这一点,但没有成功。部分问题可能是我有大量数据,其中包含接近 0 的非常小的数字,我认为更小的 bin 将有助于解决这个问题,因为它们会被更多地分开。
我不知道是否可以在直方图上创建非常小的 bin,或者在某个点切割 y 轴以显示所有内容。但是有人知道如何绘制这个吗?
我的数据很简单,看起来像这样(尽管有大约 10,000 个样本):
AlleleFreq
0.001556
0.001985
0.000036
0.000024
0.000036
0.000024
0.001126
0.000012
0.000012
0.000012
0.000012
0.000012
0.000012
0.000012
0.501322
【问题讨论】:
-
“从 0 到 1 的对数刻度直方图”对您意味着什么?
-
您已从直方图中提取数据?您的样本数据也涵盖了许多数量级。我会先尝试对数据进行子集化。顺便说一句,在这种情况下将 xlim 设置为 (0,1) 并没有什么意义。
-
我希望 X 轴绘制在最大值为 1 的对数刻度上。不,我没有从直方图中提取数据,但我有想要的数据绘制为直方图。
-
这一切都清楚了。
-
酷。是的,我想我的代码错误可能有点误导。