2017-05-08 236 views
0

我試圖用plotly在3D圖上從點到x-y軸做垂直線。這對於3D圖形的可讀性來說似乎很重要,否則這些圖形看起來很不錯,但是我經過大量搜索後無法找到任何位置。在R中使用陰謀的3D陰謀的下降線?

例如,使用scatterplot3d()的時候,這可以通過簡單地將線路類型=「H」像在本實施例中完成的:

library(scatterplot3d) 
with(mtcars, { 
    scatterplot3d(disp, wt, mpg,   # x y and z axis 
       color="blue", pch=19, # filled blue circles 
       type="h",    # lines to the horizontal plane 
       main="3-D Scatterplot Example", 
       xlab="Displacement (cu. in.)", 
       ylab="Weight (lb/1000)", 
       zlab="Miles/(US) Gallon") 
}) 

但是plotly看起來好得多和比scatterplot3d()更通用....任何建議?謝謝!

回答

0

我從積極的社區論壇上得到了Carson Sievert的回答,以防有人感興趣。在對函數組2NA()進行編程(從https://github.com/ropensci/plotly/blob/master/R/group2NA.R複製並粘貼)之後,下面的工作將會完成,雖然有點笨拙:

library(plotly) 

mtcars$id <- seq_len(nrow(mtcars)) 
ms <- replicate(2, mtcars, simplify = F) 
ms[[2]]$mpg <- 0 
m <- group2NA(dplyr::bind_rows(ms), "id") 

plot_ly(color = I("black"), showlegend = F) %>% 
    add_markers(data = mtcars, x = ~disp, y = ~wt, z = ~mpg) %>% 
    add_paths(data = m, x = ~disp, y = ~wt, z = ~mpg)