【问题标题】:tooltip with names in a PCA plotPCA 图中带有名称的工具提示
【发布时间】:2020-06-03 16:12:07
【问题描述】:

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

【问题讨论】:

  • dataframe (PCA(dataframe)) 和 data_frame 是什么?请提供可重现的代码。
  • PCA(dataframe) 不起作用(无数值变量)。请提供可重现的代码。
  • reprex 已修复,我猜。感谢您的评论@StéphaneLaurent

标签: r ggplot2 tooltip pca r-plotly


【解决方案1】:

你可以手动做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

【讨论】:

    猜你喜欢
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多