如何缩放ggplot堆积的条形图

时间:2019-10-14 16:16:23

标签: r ggplot2

我在这里有一组数据

"

我正在尝试使用ggplot2制作堆积的条形图。

structure(list(Variants = c(35, 1, 1, 0, 0, 0, 0, 0, 0, 0, 97, 
6, 0, 0, 0, 0, 0, 0, 0, 0, 133, 6, 2, 0, 0, 0, 0, 0, 0, 0, 51499, 
3508, 486, 155, 21, 2, 2, 0, 0, 0), Impact = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("HIGH", "LOW", "MODERATE", 
"MODIFIER"), class = "factor"), Number.of.dogs = c(1, 2, 3, 4, 
5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 
5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)), class = "data.frame", row.names = c(NA, 
-40L))

问题是,第一个条形图太大,以致使比例混乱,因此您看不到任何值。这是图形的图片。我想知道是否有一种方法可以更改y轴的比例,以便可以看到与条形图各部分相关的值? enter image description here

1 个答案:

答案 0 :(得分:3)

添加

scale_y_continuous(trans='log2')

或@Rui在注释中指出,由于数据包含0,因此以下函数会更合适

trans=pseudo_log_trans(base = 2)