R: зеркальная ось Y из графика
У меня есть эта проблема. Я получил тепловую карту (но я полагаю, что это применимо к каждому графику), но мне нужно отразить мою ось 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 снизу. Кто-нибудь знает, что я должен сделать, чтобы изменить это?
5 ответов
См. Страницу справки для? Plot.default, которая указывает
xlim: пределы 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
Я хотел бы использовать rev
вот так:
df <- data.frame(x=x,y=rev(y),z=z)
Если вы не знали, обратите внимание, что df
на самом деле функция. Вы можете быть осторожны при перезаписи. если ты rm(df)
все вернется на круги своя.
Не забудьте переименовать ось Y, как предлагает Ник.
Функция revaxis в пакете plotrix "меняет смысл либо оси x, либо y, либо обеих". Это не решит вашу проблему (решение Ника является правильным), но может быть полезно, когда вам нужно построить диаграмму рассеяния с обращенными осями.
Для увеличения вертикальной оси в направлении вниз я предоставил два пути (два разных ответа) для следующего вопроса: