【问题标题】:How would you generate multiple scatterplot in Flexdashboard R您将如何在 Flexdashboard R 中生成多个散点图
【发布时间】:2021-06-03 01:51:27
【问题描述】:

我有一个反应输入,它的值从 1 到 12,我想要实现的是一个使用一列作为 x 变量(总是)和不同列作为 y 变量的图 - 下面的输入工作正常,但显然是硬编码的,所以如果我使用少于或多于 6 个变量,则绘图不起作用

ggplotly(
  ggplot(table_plot(),aes(x=Streamer_Offset)) +
    geom_point(aes(y= CMP_1, color = "Source 1"))+
    geom_point(aes(y= CMP_2, color = "Source 2"))+
    geom_point(aes(y= CMP_3, color = "Source 3"))+
    geom_point(aes(y= CMP_4, color = "Source 4"))+
    geom_point(aes(y= CMP_5, color = "Source 5"))+
    geom_point(aes(y= CMP_6, color = "Source 6"))
  
)

我想要做的是放置一个变量向量,例如 c(CMP_1,CMP_2....) 等,我尝试使用以下代码创建一个向量,然后传递给一个公式,但 ggplot 无法识别输入

  l <- colnames(table_plot())
  m <- c(paste0("~",l))
  d <- m[1:length(m)-1]
  as.formula(d)

另外我试过 ggloop 和 renderPlot 或 renderPLotly 无法使用该功能,因此我不知道原则上该怎么做,这应该不是一个非常复杂的过程。

【问题讨论】:

    标签: r ggplot2 flexdashboard


    【解决方案1】:

    如果你得到长格式的数据会更容易。试试这个 -

    library(tidyverse)
    
    ggplotly(
        ggplot(table_plot() %>% pivot_longer(cols = -Streamer_Offset),
               aes(x=Streamer_Offset, y = value, color = name))
    )
    

    【讨论】:

      猜你喜欢
      • 2020-04-03
      • 2020-06-25
      • 1970-01-01
      • 2014-09-19
      • 2017-04-09
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多