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))
Это генерирует следующую тепловую картуНо мне нужно зеркальное зеркальное ось. Начиная с 0 сверху и 50 на дне. У кого -нибудь есть подсказка о том, что я должен сделать, чтобы изменить это?
Решение
Смотрите страницу справки?
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
Функция Revaxis в пакете Plotrix «реверсирует ощущение одного или обоих осей« x »и« y ». Это не решает вашу проблему (решение Ника является правильным), но может быть полезно, когда вам нужно построить диаграмму рассеяния с обратными осями.
я хотел бы использовать rev
вот так:
df <- data.frame(x=x,y=rev(y),z=z)
В случае, если вы не знали, обратите внимание, что df
на самом деле функция. Вы можете быть осторожны при перезаписи. если ты rm(df)
, все вернется в норму.
Не забудьте переехать ось Y, как предполагает Ник.
Для вертикальной оси, увеличивающейся в направлении нисходящего, я предоставил два способа (два разных ответа) для следующего вопроса: