闪亮反应为ggplot2系列名称和图例标签?

时间:2016-12-07 22:07:25

标签: r ggplot2 shiny

我想在闪亮的情节中使用Shiny输入作为名称。

这是我的代码:

ggplot() + 
    ...
    geom_point(data=data.frame(), aes(x=x, y=y, color=paste(input$name)),
      size = 3) + 
    scale_color_manual(values=c("df1"="blue", "df2"="blue",
      paste(input$name)="red"))

它不会将paste(input$name)识别为字符串。以下是错误消息:

1512:     scale_color_manual(values=c("df1"="blue", "df2"="blue",
1513:       paste(input$name)=
                             ^

任何人都知道如何正确构建这个?

1 个答案:

答案 0 :(得分:1)

你不能像你一样混合字符串,符号和表达式。如果您想在aes()映射中使用字符串,请使用aes_aes_string(不需要paste

aes_string(x="x", y="y", color=input$name)

并且您无法在命名向量中的=左侧放置表达式。请改用setNames()之类的内容。

values = setNames(c("blue", "blue", "red"), c("df1", "df2", input$name))

如上所述,如果您包含reproducible example,将来会更容易,以便可以正确测试可能的解决方案。这根本不是Shiny相关的。这就是ggplot和R的工作方式。