如何通过在 r shiny 中使用拨动开关将 scales= "free_y" 添加到 facet?

How to add scales= "free_y" to facet by using toggle switch in r shiny?

我创建了一个 facet_geo 图,并想为用户提供一个选项,让用户可以选择 enable/disable 免费 y 轴刻度 进行比较。

我以前使用以下方法完成此操作,但这需要将整个代码放两次:

server.R

enable_free_y <- input$id_switch_tab1_free_y_scale

if(!enable_free_y){
plot1
}
else{
plot2
}

有没有一种方法可以在 情节代码 本身中将此 if condition 添加到 facet_geo 而不是有两个不同的情节进行切换。

在我试过的情节代码中添加scales = "free_y"

enable_free_y <- input$id_switch_tab1_free_y_scale

facet_geo(~ State.UnionTerritory, grid = "in_state_ut_grid2", 
                      label = "code", 
                      
                      if (enable_free_y){"scales = 'free_y', "} else{""}
                      
                      move_axes = T)

也尝试过:

enable_free_y <- input$id_switch_tab1_free_y_scale

facet_geo(~ State.UnionTerritory, grid = "in_state_ut_grid2", 
                      label = "code", 
                      
                      if (enable_free_y){scales = 'free_y', } else{""}
                      
                      move_axes = T)

但是上述选项中的 None 有效。

更新:

得到答案后更新结果: https://vineet-sansi.shinyapps.io/IndiaCovid19Dashboard/

试试这个 -

facet_geo(~ State.UnionTerritory, grid = "in_state_ut_grid2", 
          label = "code", 
          scales = if(enable_free_y) 'free_y' else 'fixed',
          move_axes = T)