Построение прямой поверхности с помощью решетки::wireframe()

Предположим, я хочу построить следующий кадр данных:

df <- data.frame(expand.grid(1:10,1:10),rep(10,100))
colnames(df) <- c("x","y","z")

с функцией lattice wireframe():

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE)

Как мне заставить его построить заданные координаты? Я бы предположил, что это как-то связано с необходимостью масштабировать/настраивать ось Z, поскольку автоматическое масштабирование в пределах wireframe, вероятно, сбивается с толку из-за того, что все координаты Z равны.

введите здесь описание изображения


person Julian    schedule 20.07.2013    source источник
comment
Извините, но я не понимаю вашего вопроса. Что вы имеете в виду, как заставить его отображать заданные координаты?   -  person agstudy    schedule 20.07.2013
comment
Я имею в виду, что я хотел бы видеть данные, которые я ввел в каркас (обратите внимание, что график из моего примера кажется пустым)   -  person Julian    schedule 20.07.2013


Ответы (2)


Просто добавьте аргумент zlim.

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE, zlim=c(0,20))

Постоянная функция

person Vincent Zoonekynd    schedule 20.07.2013

Это из раздела масштабов страницы справки: «Наиболее распространенное использование этого аргумента — установить стрелки = FALSE, что приводит к использованию делений и меток вместо рисуемых стрелок (по умолчанию)». Так что просто добавьте это как значение списка в «весы»:

wireframe(z~x*y,df,colorkey=TRUE,drape=TRUE,
          scales=list(arrows=FALSE), zlim=c(0,10.1))

Неспособность wireframe отобразить что-либо, когда нанесенная плоскость находится в одном из крайних положений, кажется, по крайней мере, «неожиданным поведением», если не ошибкой. Я подозреваю, что вы не увидите этого в реальных данных. Использование драпировки не имеет особого смысла, поскольку вся плоскость данных отображается в белой средней точке. (Опять же, это, вероятно, не проблема, если у вас есть что-то другое, кроме этого патологического примера.)

введите здесь описание изображения

person IRTFM    schedule 20.07.2013