【问题标题】:Layered ScatterD3 plots?分层 ScatterD3 图?
【发布时间】:2017-01-25 11:53:38
【问题描述】:

是否可以将多层 ScatterD3 图叠加在一起?我无法在小插曲或搜索 StackExchange/Google 的任何地方找到它。

我很好奇,因为人们已经能够使用 ScatterD3 制作 PCA Vector Loading 绘图。如果可以用点将其覆盖在另一个图的顶部(类似于ggplot2ggvis 层的可能性),那么您可以拥有一个华丽且交互式的 PCA 图。此外,您还可以勾勒出点的轮廓(因为点笔画目前不是一个选项)。

有没有人有任何见解或解决方法?

【问题讨论】:

    标签: r plot layer pca scatter


    【解决方案1】:

    这是可能的,但更难。我建议使用plotly 包。您将能够使用 RStudio 中的 View 选项卡,并通过旋转更轻松地检查您的 3D 散点图。配色方案也更容易添加This post 尝试解决类似但不相同的问题。 plotly 的一个很好的(免费)教程可以在 here through DataCamp 找到。

    【讨论】:

    • 我想你可能误解了这个问题;我问的是 ScatterD3 包,而不是 scatterplot3d。我知道这些名字的相似程度令人困惑。
    • 是的,我确实误解了你的问题,对此我深表歉意。由于ScatterD 使用ggplot2 并因此使用grid 图形,也许您可​​以寻求对R 网格进行更改?这可能会使您的任务过于复杂,但如果您真的需要完成它,我会去那里......
    【解决方案2】:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2010-12-06
      相关资源
      最近更新 更多