gpt4 book ai didi

r - 使用 bind_shiny() 渲染的 ggvis 图不是 react 性的

转载 作者:行者123 更新时间:2023-12-01 10:44:12 25 4
gpt4 key购买 nike

我想我缺少 ggvis + shiny 的一些基本方面。

按照教程,绘图是在 server.R 中使用一系列 %>% 管道构建的,以 bind_shiny 结尾,它将绘图与可以在 ui.R 中引用的标识符相关联

但我不明白的是,情节本身并不像 renderTable()、renderText() 或 reactive() 中的代码那样具有反应性。因此,如果我想在定义绘图时引用像 input$x 这样的输入参数,它将不起作用,我会收到一条错误消息,提示 "Operation not allowed without an active reactive context. (You tried to do只能从响应式(Reactive)表达式或观察者内部完成的事情。)”

例如,如果“input”是 shinyServer 函数的输入参数,我可能有一个如下所示的图:

dataframe %>% ggvis(~ aval, ~ bval) %>% layer_points %>% layer_paths(x = ~xv, y = ~ yv, data = data.frame(xv = c(0, 0), yv = c(0, input$maxValParam)))

其中 layeR_points 用于绘制 dataframe 中的数据,layer_paths 用于绘制垂直线直至 maxValParam 值。

最佳答案

所以 this answer可能会有用。

看起来为了在 ggvis() 函数中引用您的 input$maxValParam,整个 ggvis 函数需要包装在一个响应中。公然扯掉上面的答案,你的可能看起来像:

reactive({
dataframe %>%
ggvis() #rest of plotting code %>%
add_axis("x", title = input$maxValParam)
}) %>% bind_shiny("plot")

关于r - 使用 bind_shiny() 渲染的 ggvis 图不是 react 性的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28081631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com