PCA 图中带有名称的工具提示

tooltip with names in a PCA plot

我想用 ggplotly() 生成交互式绘图。工具提示应该会显示变量的名称。

interactive <- ggplotly(pca,dynamicTicks = T,tooltip = c("x","y",label = list))

pca 是 PCA 的可视化。 sub 是一个包含变量名称的 data.frame。

sub <- PCA(dataframe)

pca <- fviz_pca_ind(sub, pointsize = "cos2", 
             pointshape = 21, fill = "#E7B800",
             repel = TRUE, # Avoid text overlapping (slow if many points)
             geom = c("text","point"), 
             xlab = "PC1", ylab = "PC2",label = animal_list
             )

dataframe 包含变量名称,我希望通过交互方式在工具提示中显示这些名称。 tooltip = 对我帮助不大,更改 pca_individuals 中的属性(例如 label= 或某些内容也不起作用。 感谢您的支持。 我真的很欣赏你无私的行为。

玩玩(实际数据框要大得多):

dataframe <- data_frame("c1"=c(78,89,0),"c2"=c(89,89,34),"c3"=c(56,0,4))

您可以手动做tooltips的内容如下:

library(factoextra)
library(plotly)
library(FactoMineR)

dataframe <- 
  data.frame("c1"=c(78,89,0),"c2"=c(89,89,34),"c3"=c(56,0,4))
res.pca <- PCA(dataframe)

pca <- fviz_pca_ind(res.pca, pointsize = "cos2", 
                    pointshape = 21, fill = "#E7B800",
                    repel = TRUE, 
                    geom = c("text","point"), 
                    xlab = "PC1", ylab = "PC2")

ggly <- ggplotly(pca)
bggly <- plotly_build(ggly)
bggly$x$data[[1]]$text <- 
  with(pca$data, paste0("name: ", name, 
                        "</br></br>x: ", x, 
                        "</br>y: ", y, 
                        "</br>coord: ", coord, 
                        "</br>cos2: ", cos2, 
                        "</br>contrib: ", contrib))

bggly