Как показать координатную сетку в машине :: scatter3d plot - PullRequest
0 голосов
/ 27 июня 2018

Просто запустите следующий код. Я хочу отобразить координатную сетку, но ничего не происходит:

df_runtime <- data.frame(x = c(0L, 20L), 
                         y = c(0L, 10L), 
                         z = c(0L, 50L), stringsAsFactors = FALSE)

car::scatter3d(x = df_runtime$x,
               y = df_runtime$y,
               z = df_runtime$z,
               xlab = "x", ylab = "x", zlab = "z", 
               surface = FALSE, grid = TRUE)

Из документов ??car::scatter3d Я понял, что

построение линий сетки на поверхности (ях) регрессии (ИСТИНА или ЛОЖЬ).

Таким образом, параметр grid - это не то, что я искал. Есть ли способ получить координатную сетку ? Для меня это действительно полезно в качестве руководства для глаз.


Редактировать после ввода Карлеса :

Я бы хотел сохранить интерактивный график - вот почему я ищу решение car::scatter3d. Если вам это не нужно, комбинация scatterplot3d и FactoClass действительно хороша. Следующие работы неинтерактивны:

scatterplot3d::scatterplot3d(
  df_runtime$x,
  df_runtime$y,
  df_runtime$z,
  color = "blue", pch = 19, # filled blue circles
  # type = "h",             # lines to the horizontal plane
  main = "Title",
  xlab = "x",
  ylab = "y",
  zlab = "z",
  angle = 35,
  grid = FALSE)
FactoClass::addgrids3d(df_runtime$x,
                       df_runtime$y,
                       df_runtime$z,
                       angle = 35,
                       grid = c("xy", "xz", "yz"))

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Если вам нужен интерактивный график с сеткой, plotly - это другое решение:

df_runtime <- data.frame(x = c(0L, 20L), 
                         y = c(0L, 10L), 
                         z = c(0L, 50L), stringsAsFactors = FALSE)

plotly::plot_ly(df_runtime, 
                     x = ~x, 
                     y = ~y, 
                     z = ~z,
                type = 'scatter3d',
                mode = 'markers')

Plotly Graph

0 голосов
/ 27 июня 2018

Для меня это не работает. Однако вы можете использовать какой-то другой пакет, например library("scatterplot3d"). Я просто положил больше очков, и это работает:

df_runtime <- structure(list(n_legs_array = rnorm(100,0,10), 
                             n_vehicles_array = rnorm(100,0,10), 
                             t = rnorm(100,0,10)), 
                        .Names = c("n_legs_array", "n_vehicles_array", "t"), 
                        row.names = c(1L, 2L), 
                        class = "data.frame")
library("scatterplot3d")

scatterplot3d(x = df_runtime$n_legs_array,
               y = df_runtime$t/60, # minutes
               z = df_runtime$n_vehicles_array,
               xlab = "n_legs", ylab = "time [min]", zlab = "n_vehicles", 
                grid = TRUE,box = FALSE,
               color =   "#56B4E9")
...