簡體   English   中英

Googlevis,R閃亮:不在新窗口中

[英]Googlevis, R shiny : not in a new window

我有個問題。 我正在嘗試使用帶有R Shiny的Googlevis軟件包,但遇到一些問題。

 library (googleVis)
    library(shiny)
    library(shinythemes)

df=data.frame(annee=c("2000","2005","2010","2014","2015","2016","2017"), val= c(30.0,27.0,29.7,28.6,28.8,29.4,26.))
graph2 <- {gvisLineChart(df)}

shinyApp(
  ui = navbarPage(
    theme = shinytheme("yeti"),"Pageweb",
    tabPanel("Page1",
             sidebarPanel(
               tags$em("TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE")
               ),
             mainPanel(
               tabsetPanel(
                 tabPanel("Onglet1", plotOutput("graph1"), "Texte de présentation", plot(graph2)),
                 tabPanel("Onglet2"),
                 tabPanel("Onglet3")
               )
             )
               )),
  server = function(input, output) {

    output$graph1 <- renderPlot({
      y = c(30.0,27.0,29.7,28.6,28.8,29.4,26.)
      barplot(y,names.arg=c("2000","2005","2010","2014","2015","2016","2017"),main="Titre graph1",
              xlab="Années", ylab="Pourcentage (en %)", col="#2345AA", border="#515353",space=0.3,
              ylim=c(0,35), density=c(30))
    })  
  }
  )

用Googlevis創建的圖形會在新窗口中打開,但我想在R閃亮頁面中實現它。 我嘗試了htmloutput函數,但沒有結果。

如果有人想將Googlevis制作的圖形放在R Shiny制作的頁面中

df=data.frame(annee=c("2000","2005","2010","2014","2015","2016","2017"), val= c(30.0,27.0,29.7,28.6,28.8,29.4,26.))
    graph2 <- {gvisLineChart(df)}

另外,我不得不在一開始就聲明這兩行。 如果沒有,則找不到該變量。

需要使用renderGvis代替renderPlot,並使用htmlOutput代替plotOutput

使用googleVis圖,您需要與其他任何圖相同的邏輯。 以同樣的方式渲染你的graph1plotOutput在UI和renderPlot服務器,為googleVis graph2是一樣的,使用htmlOutput在UI和renderGvis服務器:

library (googleVis)
library(shiny)
library(shinythemes)

shinyApp(
  ui = navbarPage(
    theme = shinytheme("yeti"),"Pageweb",
    tabPanel("Page1",
             sidebarPanel(
               tags$em("TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE")
             ),
             mainPanel(
               tabsetPanel(
                 tabPanel("Onglet1", plotOutput("graph1"),
                          "Texte de présentation", htmlOutput('graph2')),
                 tabPanel("Onglet2"),
                 tabPanel("Onglet3")
               )
             )
    )),
  server = function(input, output) {

    output$graph1 <- renderPlot({
      y = c(30.0,27.0,29.7,28.6,28.8,29.4,26.)
      barplot(y,names.arg=c("2000","2005","2010","2014","2015","2016","2017"),main="Titre graph1",
              xlab="Années", ylab="Pourcentage (en %)", col="#2345AA", border="#515353",space=0.3,
              ylim=c(0,35), density=c(30))
    })
    output$graph2 <- renderGvis({
      df=data.frame(annee=c("2000","2005","2010","2014","2015","2016","2017"), val= c(30.0,27.0,29.7,28.6,28.8,29.4,26.))
      gvisLineChart(df)
    })
  }
)

閃亮的大多數小部件( leafletplotlygoogleVis ...)提供分別在UI和服務器中使用的輸出和渲染功能。 在這種情況下, renderGvis函數。

數據和googleVis圖表的創建都可以放在renderGvis函數上,類似於您在renderPlot調用中renderPlot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM