2017-01-25 18 views
0

Возможно ли накладывать несколько слоев графиков ScatterD3 друг на друга? Я не смог найти нигде ни в виньетках, ни в поиске StackExchange/Google.Слоистые участки ScatterD3?

Мне любопытно, так как люди смогли сделать PCA Vector Loading участков с использованием ScatterD3. Если бы можно было наложить это поверх другого сюжета с точками (сродни тому, что возможно с ggplot2 или ggvis слоями), у вас может быть великолепный и интерактивный сюжет PCA. Кроме того, вы можете указать точки (поскольку точечный ход в настоящее время не является вариантом).

У кого-нибудь есть проницательность или обходные пути?

ответ

0

Возможно, но сложнее. Я бы рекомендовал использовать пакет plotly. Вы сможете использовать вкладку «Вид» в RStudio и более легко изучить 3D-разброс, вращаясь. Цветовая схема также проще добавить This post попытки решить аналогичные, хотя и не идентичные. Хороший (бесплатный) учебник для plotly можно найти here through DataCamp.

+0

Я думаю, что вы, возможно, неправильно поняли вопрос; Я спрашиваю о пакете ScatterD3, а не scatterplot3d. Я знаю, как схожу с именами. – Scott

+0

Да, я неправильно понял ваш вопрос и сожалею об этом. Поскольку «ScatterD» использует графику «ggplot2» и, следовательно, «сетку», возможно, вы можете попытаться внести изменения в сетку R? Это может нарушить вашу задачу, но это то, куда я бы пошел, если мне действительно нужно это сделать ... –

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)