Отображение 3D с использованием Wireframe в R

Я пытаюсь построить 3D-графики в R с помощью Wireframe, но у меня проблемы с правильным отображением графика. Данные следующие:

 [1,]    1 1.000000    1
 [2,]    2 1.709133    1
 [3,]    4 3.278188    1
 [4,]    8 5.082078    1
 [5,]   16 5.753403    1
 [6,]   32 5.778228    1
 [7,]   64 5.783567    1
 [8,]    1 1.000000    2
 [9,]    2 1.709133    2
[10,]    4 3.278429    2
[11,]    8 5.081508    2
[12,]   16 5.751819    2
[13,]   32 5.777714    2
[14,]   64 5.783520    2
[15,]    1 1.000000    3
[16,]    2 1.709133    3
[17,]    4 3.278632    3
[18,]    8 5.079604    3
[19,]   16 5.753117    3
[20,]   32 5.777558    3
[21,]   64 5.783742    3
[22,]    1 1.000000    4
[23,]    2 1.709133    4
[24,]    4 3.278708    4
[25,]    8 5.080512    4
[26,]   16 5.753243    4
[27,]   32 5.778988    4
[28,]   64 5.782796    4
[29,]    1 1.000000    5
[30,]    2 1.709133    5
[31,]    4 3.278253    5
[32,]    8 5.082100    5
[33,]   16 5.752612    5
[34,]   32 5.778187    5
[35,]   64 5.783359    5
[36,]    1 1.000000    6
[37,]    2 1.709133    6
[38,]    4 3.278576    6
[39,]    8 5.078772    6
[40,]   16 5.753112    6
[41,]   32 5.777878    6
[42,]   64 5.784069    6
[43,]    1 1.000000    7
[44,]    2 1.709133    7
[45,]    4 3.277898    7
[46,]    8 5.081783    7
[47,]   16 5.753860    7
[48,]   32 5.777794    7
[49,]   64 5.784079    7
[50,]    1 1.000000    8
[51,]    2 1.709133    8
[52,]    4 3.278517    8
[53,]    8 5.080553    8
[54,]   16 5.750771    8
[55,]   32 5.779782    8
[56,]   64 5.783110    8
[57,]    1 1.000000    9
[58,]    2 1.709133    9
[59,]    4 3.278196    9
[60,]    8 5.080629    9
[61,]   16 5.753407    9
[62,]   32 5.777428    9
[63,]   64 5.784100    9
[64,]    1 1.000000   10
[65,]    2 1.709133   10
[66,]    4 3.278395   10
[67,]    8 5.081113   10
[68,]   16 5.752613   10
[69,]   32 5.777564   10
[70,]   64 5.783312   10

Я попробовал следующий код:

 wireframe(temp, scales = list(arrows = FALSE,
 x = list(labels = 2^seq(0, 6)),  
 y = list(labels = seq(1,7)),
 z = list (labels =seq(1,7))), drape = TRUE, colorkey = TRUE,
 screen = list(z = 30, x = -60),
xlab = "X", ylab = "Y", zlab = "Z")

Я не знаю, почему график отображается так: введите здесь описание изображения

Если бы я попытался отобразить тот же код для первых 7 строк, только рисунок был бы таким: введите описание изображения здесь

Кто-нибудь знает, в чем проблема?.


person Yasmin    schedule 20.03.2014    source источник


Ответы (1)


Я думаю, вам нужно использовать здесь аргумент aspect.

wireframe(as.matrix(dat), 
          scales = list(arrows = FALSE, x = list(labels = 2^seq(0, 6)),  
                        y = list(labels = seq(1,7)), z = list(labels =seq(1,7))),
          drape = TRUE, colorkey = TRUE, aspect = c(61/87, 0.4), 
          screen = list(z = 30, x = -60), xlab = "X", ylab = "Y", zlab = "Z")

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

person Rich Scriven    schedule 20.03.2014
comment
Большое спасибо, но мне было интересно, почему последняя точка по оси X - NA, однако у вас должно быть 7 точек по оси x... - person Yasmin; 21.03.2014
comment
Я обновил эту часть: список (стрелки = ЛОЖЬ, x = список (метки = добавить (0,2 ^ последовательность (0, 6))), y = список (метки = последовательность (0,7)), z = список ( labels =seq(0,7))) Теперь начинается от 0 до 64, но на рисунке 0 имеет значение, а не должно так как в матрице нет данных для нуля - person Yasmin; 21.03.2014