我有这个问题。我有一个热图,(但我想这适用于每个情节)但我需要镜像我的y轴。
我在这里得到了一些示例代码:
library(gstat)
x <- seq(1,50,length=50)
y <- seq(1,50,length=50)
z <- rnorm(1000)
df <- data.frame(x=x,y=y,z=z)
image(df,col=heat.colors(256))
这将生成以下热图 但我需要y轴镜像。从顶部的0和底部的50开始。有没有人知道我必须做些什么才能改变这个?
答案 0 :(得分:6)
请参阅帮助页面?plot.default,指定
xlim:图的x限制(x1,x2)。注意'x1&gt; x2'是 允许并导致'反转轴'。
library(gstat)
x <- seq(1,50,length=50)
y <- seq(1,50,length=50)
z <- rnorm(1000)
df <- data.frame(x=x,y=y,z=z)
所以
image(df,col=heat.colors(256), ylim = rev(range(y)))
答案 1 :(得分:1)
这对你有用吗(虽然这有点像黑客)?
df2<-df
df2$y<-50-df2$y #reverse oredr
image(df2,col=heat.colors(256),yaxt="n") #avoid y axis
axis(2, at=c(0,10,20,30,40,50), labels=c(50,40,30,20,10,0)) #draw y axis manually
答案 2 :(得分:0)
plotrix包中的revaxis函数“反转了'x'和'y'轴之一或两者的感觉”。它不能解决您的问题(Nick的解决方案是正确的),但是当您需要绘制具有反向轴的散点图时,它可能很有用。
答案 3 :(得分:0)
我会这样使用rev
:
df <- data.frame(x=x,y=rev(y),z=z)
如果您不知道,请注意df
实际上是一个功能。覆盖时可能要小心。如果你rm(df)
,事情就会恢复正常。
不要忘记按照尼克的建议重新标记y轴。
答案 4 :(得分:0)
对于向下增加的垂直轴,我为以下问题提供了两种方式(两种不同的答案):