注意:我发现了一个类似的问题,对此有一个解释该问题的答案。但是,我正在寻找一个答案,而不是很难(我完全理解)的原因。
我有一些要为其创建直方图的数据。此数据对于bin [0,200)的计数为10000,而对于诸如[30000,30200)的几个bin的计数为1。两个垃圾箱都很重要,并且必须可见。为此,我可以使用log1p刻度执行直方图。
contig_len <- read.table(data_file, header = FALSE, sep = ",", col.names=c("Length"))
ggplot(contig_len, aes(x = Length)) + geom_histogram(binwidth=200) +
scale_y_continuous(trans="log1p")
这很好用!但是现在,我要对直方图中的项目进行分类,如下所示:
ggplot(contig_len, aes(x = Length, fill = Prevalence)) +
geom_histogram(binwidth=200, alpha=0.5, position="stack") +
scale_y_continuous(trans = "log1p")
这是行不通的,因为执行堆叠时未考虑对数刻度。有没有人找到解决这个问题的方法?我的数据如下:
head(contig_len)
Length Prevalence
1 606 Repetitive (<5)
2 888 Non-Repetitive
3 192 Repetitive (<9)
4 9830 Non-Repetitive
5 506 Non-Repetitive
6 850 Non-Repetitive