3D scatterplot的使用可以用來顯示如Principle Component Analysis的結果,目前在R中可以畫3D圖形的package其實不多,scatterplot3d和plotly是唯二可以做這件事情的,scatterplot3d可以做出傳統使用R lattice所展現出來的繪圖功能,基本功能完善,但無法即時動態的去旋轉圖,這其實是畫3D Scatterplot最想做的事情,而這部分plotly提供非常好的R接口可以完成,plotly畫出來的圖形是可以即時去調整他的角度和一些顯示的細節,在探索一些三維下有無cluster現象時,真的很方便!
這邊附上官網的範例,非常簡單上手
library(plotly) mtcars$am[which(mtcars$am == 0)] <- 'Automatic' mtcars$am[which(mtcars$am == 1)] <- 'Manual' mtcars$am <- as.factor(mtcars$am) p <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~am, colors = c('#BF382A', '#0C4B8E')) %>% add_markers() %>% layout(scene = list(xaxis = list(title = 'Weight'), yaxis = list(title = 'Gross horsepower'), zaxis = list(title = '1/4 mile time')))
幾乎語法上跟ggplot2類似,只是在做輸出時候的layout會嚴謹一點