我正在尝试使用 R 中的 ggplot2 制作具有对数刻度的分组条形图。我的目标是在 R 中重新创建以下图。
因为生成它的程序无法生成高分辨率图表。我需要一个对数刻度,因为数字范围从 1 到 1000 以上,以及介于两者之间的任何地方。
这是数据框的简化版本的片段,以及我一直在使用的代码。我已经能够使用 ggplot2 绘制绘图,但我的问题是数据中有很多 1 最终被绘制为 0,而 0 显示为 -1。这是我的 R 图的样子。
genus_counts <- read.table(text = "Genus variable value
1 Lepisosteus JBGC462 0
2 Lepomis JBGC462 6
3 Micropterus JBGC462 2
4 Perca JBGC462 2
5 Ictalurus JBGC462 1
6 Lepisosteus JBGC13 13
7 Lepomis JBGC13 0
8 Micropterus JBGC13 0
9 Perca JBGC13 0
10 Ictalurus JBGC13 0", header = TRUE)
ggplot(genus_counts, aes(x=Genus, y=value, fill=variable))+
geom_bar(stat="identity", position="dodge")+
scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
从数学上讲,我理解为什么会出现这种情况(而且条形图上的对数刻度并不真正理想)。但是有没有另一种方法可以调整绘图(或我输入绘图的数字)以获得与我试图模拟的绘图更接近的匹配?