繁体   English   中英

R:从 plot 镜像 y 轴

[英]R: mirror y-axis from a plot

我有这个问题。 我有一个热图,(但我想这适用于每个情节)但我需要镜像我的 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 开始。 有没有人知道我必须做些什么来改变这一点?镜像热图

请参阅帮助页面?plot.default,它指定

xlim:plot 的 x 限制 (x1, x2)。 请注意,“x1 > 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)))

这对你有用吗(虽然有点小技巧)?

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

plotrix package 中的 revaxis function “反转了‘x’和‘y’轴中的一个或两个的意义”。 它不能解决您的问题(Nick 的解决方案是正确的),但是当您需要 plot 一个带有反向轴的散点图时会很有用。

我会像这样使用rev

df <- data.frame(x=x,y=rev(y),z=z)

如果您不知道,请注意df实际上是 function。 覆盖时您可能需要小心。 如果你rm(df) ,事情将 go 恢复正常。

不要忘记按照尼克的建议重新标记 y 轴。

对于向下增加的垂直轴,我为以下问题提供了两种方式(两种不同的答案):

R - 像素矩阵的图像?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM