【发布时间】:2022-01-09 23:02:18
【问题描述】:
我想用一系列整数数据创建一个直方图。因此,由于 x 轴的范围很大,我决定对 x 轴使用对数刻度。但是图中的“1”、“2”和“3”数字之间有一个空格。谁能帮我解释原因并告诉我如何删除这些空格?
这是我的代码:
H1 <- as.data.frame(floor(runif(10000, min = 1, max = 100)))
colnames(H1) <- "H"
breaks <- c(1,2,3,4,5,6,7,8,9,10,100,500,1000,max((H1$H)))
ggplot (H1, aes(H)) +
geom_histogram(colour="darkgreen", size=1, fill="green", binwidth = 0.1) +
stat_bin(geom="text", aes(label=..count..) , hjust=-0.4, vjust = 0.4, binwidth = 0.1 , angle = 90, size = 2.5) +
scale_x_log10('Integer Data', breaks = breaks, labels = breaks, expand = expansion(mult = c(0, 0.01))) +
scale_y_continuous('Count', expand = expansion(mult = c(0, 0.1))) +
theme(axis.text.x = element_text(size = 8, angle = 60, vjust = 0.8, hjust=1))
这是输出:
【问题讨论】:
-
如果您希望 1 和 2 之间的空间不大于 2 和 3 之间的空间,并且 2 和 3 之间的空间不大于 3 和 4 之间的空间,依此类推,也许您没有实际上想要一个对数刻度。这就是根据定义对数刻度的工作方式。您也不会拥有与所有这些整数对齐的 bin。