2017-01-25 55 views
0

是否可以將多層ScatterD3圖疊加在一起?我無法在這些小插曲的任何地方找到它或者搜索StackExchange/Google。分層散佈D3圖?

我很好奇,因爲人們已經能夠使用ScatterD3製作PCA Vector Loading地塊。如果可以將這個圖層疊加到另一個圖上(類似於ggplot2ggvis圖層的可能值),則可以獲得華麗且交互式的PCA圖。此外,您可能能夠勾勒出分數(因爲當前點筆劃不是選項)。

有沒有人有任何見解或解決方法?

回答

0

這是可能的,但更困難。我會建議使用plotly包。您可以使用RStudio中的「視圖」選項卡,並通過旋轉更輕鬆地檢查3D散點圖。配色方案也很容易添加This post嘗試解決類似問題,雖然不相同。一個很好的(免費)教程plotly可以找到here through DataCamp

+0

我想你可能誤解了這個問題;我問的是ScatterD3軟件包,而不是scatterplot3d。我知道,混淆名字的相似程度。 – Scott

+0

是的,我誤解了你的問題,對此抱歉。由於'ScatterD'使用'ggplot2',因此'grid'圖形,也許你可以試圖改變R grid?這可能會讓你的任務過度複雜,但如果我真的需要完成這個任務,那我就會去那裏... –

0

Question answered here感謝ScatterD3的作者。要生成完整的PCA圖,您需要重新定義被繪製的數據幀,如下所示:

library(FactoMineR) 
library (ScatterD3) 

out<-PCA(iris[,1:4],scale.unit = TRUE, graph=FALSE) 
    cc1<-data.frame(out$ind$coord) 
    cc2<-data.frame(out$var$coord) 

points <- data.frame(x = cc1$Dim.1, 
        y = cc1$Dim.2, 
        color = iris$Species, 
        lab = row.names(iris), 
        type = rep("point", 150)) 

arrows <- data.frame(x = cc2$Dim.1, 
        y = cc2$Dim.2, 
        color = "Blue", 
        lab = row.names(cc2), 
        type = rep("arrow", 4)) 

data1 <- rbind(points, arrows) 

scatterD3(data1, x = x, y = y, 
      lab = lab, type_var = data1$type, col_var = color)