首页 > 解决方案 > 为使用 ggplot2 生成的图创建下拉菜单

问题描述

我需要帮助生成在 ggplot 中生成的图的下拉菜单。(如这里所示:https ://plotly.com/r/dropdowns/ )

我使用 ggplot 生成了许多图,如下所示:

da1 <- ggdensity(data=data, x=data$x_1, add = "mean", rug=TRUE, color="Status", palette = c("#00BFC4", "#F8766D"), ylab="Area 1", xlab="") + 
      theme(plot.title = element_text(hjust = 0.5),
            legend.position="none")

da2 <- ggdensity(data=data, x=data$x_2, add = "mean", rug=TRUE, color="Status", palette = c("#00BFC4", "#F8766D"), ylab="Area 2", xlab="") + 
      theme(plot.title = element_text(hjust = 0.5),
            legend.position="none")

a1 <- ggplot(data=data, aes(x=Status, y=data$x_1, fill=Status, label=data$label)) +
      geom_violin() +
      geom_point(alpha=0.6, size=3) +
      stat_compare_means(method="wilcox.test", aes(label = ..p.signif..), size=7, label.x = 1.5, vjust=0.5) +
      theme(text = element_text(colour = "black"),
            axis.title.x = element_text(size=14, face="bold"),
            axis.title.y = element_text(size=14, face="bold"),
            legend.position="none") +
      xlab("") +
      ylab("")

a2 <- ggplot(data=data, aes(x=Status, y=data$x_2, fill=Status, label=data$label)) +
      geom_violin() +
      geom_point(alpha=0.6, size=3) +
      stat_compare_means(method="wilcox.test", aes(label = ..p.signif..), size=7, label.x = 1.5, vjust=0.5) +
      theme(text = element_text(colour = "black"),
            axis.title.x = element_text(size=14, face="bold"),
            axis.title.y = element_text(size=14, face="bold"),
            legend.position="none") +
      xlab("") +
      ylab("")
ga1 <- ggplotly(a1, tooltip=c("label", "y", "x"))
ga2 <- ggplotly(a2, tooltip=c("label", "y", "x"))

然后我为这些图创建了子图:

fig <- subplot(da1, da2)
fig2 <- subplot(ga1, ga2)

我想创建一个下拉菜单,其中显示了 Fig 和 Fig2 之间的选择,并且在选择特定选项时绘图会发生变化。

我浏览了stackoverflow,但找不到任何人用ggplots做下拉菜单。我找到的最接近的答案是为 Plotly 图表生成下拉菜单,但在我的脑海中响应没有意义。有人会这么好心地帮助我解决这个问题吗?我想继续使用上面显示的方法生成的 ggplots。

标签: rggplot2plotly

解决方案


推荐阅读