r - 在ggplot2中绘制带有对数刻度的堆叠直方图
问题描述
注意:我发现了一个类似的问题,对此有一个解释问题的答案。但是,我正在寻找答案,而不是困难的原因(我完全理解)。
我有要为其创建直方图的数据。此数据对于 bin [0, 200) 的计数为 10000,对于多个 bin(例如 [30000, 30200))的计数为 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
解决方案
推荐阅读
- tsql - 在选择期间按字母顺序重新排序字符串
- sql - 如何在 Postgres 的分区表中搜索?
- raspbian - 使用 Raspian Buster 编写文件
- node.js - 无法构建角度通用服务器,请帮助我
- r - 本地化健身环境
- javascript - Vue 表单输入类型不会在状态更改和方法调用时重新呈现
- python - Tensorflow 图节点是交换的
- javascript - Firebase 应用程序在我的使用 vuejs 的 signInWithEmailAndPassword 方法中无法识别第一个参数“电子邮件”的错误
- php - 如何将特定的单元格值导入 Laravel excel 中的模型
- python-3.x - 用 beautifulsoup 解析表