我想使用ggplot2制作一个带有反转的log10 x比例的图:
require(ggplot2)
df <- data.frame(x=1:10, y=runif(10))
p <- ggplot(data=df, aes(x=x, y=y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
但是,似乎我可以使用 log10比例或反转比例:
p + scale_x_reverse() + scale_x_log10()
Run Code Online (Sandbox Code Playgroud)

p + scale_x_reverse()
Run Code Online (Sandbox Code Playgroud)

我想这是合乎逻辑的,如果一个图层只能有一个比例.当然,我可以通过自己对数据df$xLog <- log10(df$x)
框进行日志转换来破解它,但是这个解决方案似乎与ggplot的精神背道而驰.有没有办法在不进行ggplot调用外部的数据转换的情况下获得这种情节?
我有一个正态分布图和一个直方图,x轴以对数刻度显示0,10 ^ 0,10 ^ 1 ...我想在主要的之间包括小刻度.实际上,我能够使用前一个问题中给出的解决方案将主要的刻度格式从1,2,3等改为10 ^ 0,10 ^ 1,10 ^ 2,10 ^ 3 .我使用以下代码进行主要滴答:
major.ticks <- axTicks(1)
labels <- sapply(major.ticks,function(i)
as.expression(bquote(10^ .(i)))
)
axis(1,at=major.ticks,labels=labels)
Run Code Online (Sandbox Code Playgroud)
这可以编辑为只标记次要刻度而不标记它们吗?
通常,当我们绘图时,绘图的底部(从左到右)有x轴,左边有y轴(从下到上).
例如,在R编程中,我有一个这样的代码:
t <- seq(0,1,0.2) # need t values in top x axis
plot(t,t^2,type="l") # need t^2 values in inverted y-axis
Run Code Online (Sandbox Code Playgroud)
现在,如果我们想要绘图使得x轴在顶部(从左到右)和y轴反转(从上到下).
我们怎样才能在R编程中实现这样的壮举?我在stackoverflow中搜索了以下链接,但是它们无法满足我的要求:
如何在绘图上反转y轴