我在Shiny工作并与ggplot2制作交互式情节。使用UI上的下拉菜单,用户可以更改在x和y轴上绘制的变量。我希望图上的轴标签代表下拉菜单中的标签,而不是实际数据集中的变量名称。下拉菜单中的标签更易于理解。
通过在运行我的Shiny应用程序之前在全局工作区中指定两个列表(每个轴一个),我可以在我的机器上运行它。
在一个轴的全局工作空间中
predChoices <- c("Cabezon Standard Length (mm)" = "predlength",
"Cabezon Mass (g)" = "predmass")
然后在server.R中指定ggplot中的轴标签
scale_x_continuous(paste("\n",names(predChoices[predChoices == input$predVariable])))
其中predVariable是UI.R中下拉窗口小部件的名称。此代码使用更具描述性的标签很好地标记轴。
问题在于使用此解决方法并非所有Shiny App的要求都包含在应用程序中,因此很难发布到Web或与他人共享,因为需要初始代码来设置命名列表在全球工作空间内。
在Shiny中是否有一种方法可以使轴标签具有反应性,但是允许它们具有自定义名称而不是实际的变量名称(来自数据文件),而无需在运行应用程序之前在全局工作空间中生成规范?
谢谢, 内特