我试图改善离散值的直方图,需要用对数刻度来表示,并提高其清晰度和美观性。
请看以下MWE:
set.seed(99)
data <- data.frame(dist = as.integer(rlnorm(1000, sdlog = 2)))
class(data$dist)
ggplot(data, aes(x=dist)) + geom_histogram()
生产出
然后
ggplot(data, aes(x=dist)) + geom_line() + scale_x_log10(breaks=c(1,2,3,4,5,10,100))
这可能会更糟
因为现在给人的印象是在“1”和“2”之间缺少某些内容,而且也不完全清楚哪个柱子的值是“1”(柱子在刻度的右侧)以及哪个柱子的值是“2”(柱子在刻度的左侧)。
我知道从技术上讲ggplot为对数比例尺提供了“正确”的视觉答案。但作为观察者,我在理解上有些问题。
有什么方法可以改善吗?
编辑:
当我将Jaap的解决方案应用于我的实际数据时,就会发生这种情况
x=0和x=1之间以及x=1和x=2之间的跌落是怎么回事?我的值是离散的,但是为什么图也将x=1.5和x=2.5映射了出来?