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

问题描述 投票:0回答:1

我想用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
             )

数据框包含变量名,我想交互显示在工具提示中。 tooltip =对我没有多大帮助,并且更改pca_individuals中的属性(例如使用label=或某些方法也不起作用)。感谢您的支持。非常感谢您的无私行为。

用于播放(实际数据帧子更大):

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

r ggplot2 tooltip pca r-plotly
1个回答
0
投票

您可以按如下所示手动执行工具提示的内容:

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
© www.soinside.com 2019 - 2024. All rights reserved.