私のアプリにはいくつかのチャートがあり、清潔度がserver.R
にはbind_shiny
コールしか含まれないようにするために、それらを適切なスクリプトで描画したいと考えています。光沢のあるダイナミックなggvisチャートをモジュール化するには?
また、私は自分のグラフのビルディングブロックの一部をリサイクルしたいので、スクリプトを分割して、グラフの小さな部分にグラフを描画したいと思います。
右は知っている、私はこのようなcharts.Rファイルがあります:
chart1 <- reactive({
cars %>%
ggvis(~speed)
})
chart2 <- reactive({
chart1 %>% layer_bars()
})
反応性はもちろん必要ありませんが、それは私の元のアプリケーションになります。
その後、私はこの方法server.R上のチャートを呼び出すしたいと思います:
library(shiny)
library(ggvis)
source("charts.R")
shinyServer(function(input, output) {
chart2 %>%
bind_shiny("test1", "test1_ui")
})
ui.R
library(shiny)
library(ggvis)
shinyUI(fluidPage(
fluidRow(titlePanel("My app")),
fluidRow(
column(12,
tags$h1("hello"),
ggvisOutput('test1')
)
)
)
)
私はすべてがcharts.Rで動作気づきました私はすべてのオブジェクトを1つのオブジェクトに入れますが、グラフを描画する関数を分割して複数の部分に分割してもそれはありません。しかし、このようなものがあります
誰もが問題の解決方法を説明でき、なぜ私の2ステップアプローチはRで動作しますが、Shinyでは動作しないのですか?