2

我正在尝试使用新的 R 演示文稿 + 闪亮 + gvisGeoMap 创建交互式幻灯片

这就是我现在所拥有的:

---
title: "Untitled"
author: "Name1"
date: "06/25/2014"
output: ioslides_presentation
runtime: shiny
---


## Slide with Interactive Plot

```{r, echo=FALSE}
suppressPackageStartupMessages(require(googleVis))
inputPanel(
  selectInput("select", 
        label = "Select G1 or G2",
        choices = list("G1", "G2"),
        selected = "G1")
)

renderPlot({
  if(input$select=="G1"){
    G1 <- gvisGeoMap(Exports, locationvar='Country', numvar='Profit',
                 options=list(dataMode="regions")) 

    plot(G1)
  }else{
    G2 <- gvisGeoMap(CityPopularity, locationvar='City', numvar='Popularity',
                 options=list(region='US', height=350, 
                              dataMode='markers',
                              colors='[0xFF8747, 0xFFB581, 0xc06000]')) 
    plot(G2)
  }

})
```

我可以创建 html 但地图不打印。

4

1 回答 1

2

googleVis地块使用该renderGvis功能。您需要传递googleVis对象而不是调用plot. renderGvis需要分配给输出并使用调用htmlOutput

---
title: "Untitled"
author: "Name1"
date: "06/25/2014"
output: ioslides_presentation
runtime: shiny
---


## Slide with Interactive Plot

```{r, echo=FALSE}
suppressPackageStartupMessages(require(googleVis))
inputPanel(
  selectInput("select", 
        label = "Select G1 or G2",
        choices = list("G1", "G2"),
        selected = "G1")
)

output$test <- renderGvis({
  if(input$select=="G1"){
    G1 <- gvisGeoMap(Exports, locationvar='Country', numvar='Profit',
                 options=list(dataMode="regions", width="100%")
                 , chartid = 'mychart') 

    G1
  }else{
    G2 <- gvisGeoMap(CityPopularity, locationvar='City', numvar='Popularity',
                 options=list(region='US', height=350, width="100%", 
                              dataMode='markers',
                              colors='[0xFF8747, 0xFFB581, 0xc06000]'
                              ), chartid = 'mychart') 
    G2
  }

})
htmlOutput("test")

```

在此处输入图像描述 在此处输入图像描述

于 2014-06-26T13:14:43.553 回答