【发布时间】:2013-06-03 11:46:39
【问题描述】:
我有一个ggplot2 图,生成的直方图如下:
library("ggplot2")
library("scales")
df <- data.frame(test = rnorm(1000, 1000, 40000))
p <- ggplot(df, aes(x = test)) + geom_histogram(colour="black", fill="#FF9999")
# set themes, axes and labels
p <- p + theme_minimal() + theme() + xlab("Distance travelled [km]") + ylab("Count of users")
# transformation
p <- p + scale_x_log10(breaks = trans_breaks("log10", function(x) {10^x}),
labels = trans_format("log10", math_format(10^.x))
)
# plot
p
输出:
我使用 scales 包将 x 轴标签显示为 10 的幂,但实际上,我想将它们显示为十进制数,只要数字低于,比如说 10^4 和 10^- 4,对于下图,这将给出以下轴标签
100
1000
10^4
10^5
如何在 trans_format() 中执行此操作,或者是否有其他更好的解决方案?
【问题讨论】:
-
请提供一个可重现的例子。
-
更改了我的示例代码。