3

2 つの htmlwidget があるとします。

# Load energy projection data
# Load energy projection data
library(networkD3)
URL <- paste0(
        "https://cdn.rawgit.com/christophergandrud/networkD3/",
        "master/JSONdata/energy.json")
Energy <- jsonlite::fromJSON(URL)
# Plot
sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
             Target = "target", Value = "value", NodeID = "name",
             units = "TWh", fontSize = 12, nodeWidth = 30)

library(leaflet)
data(quakes)

# Show first 20 rows from the `quakes` dataset
leaflet(data = quakes[1:20,]) %>% addTiles() %>%
  addMarkers(~long, ~lat, popup = ~as.character(mag))

そして、それらを html ページに並べて配置したいと考えています。これどうやってするの?iframe を使用できますか? 他の?

4

1 に答える 1

7

これに答える方法はたくさんあります。多くの場合、サイズと配置は の作成者によって異なるhtmlwidgetため、少し試してみる必要があるかもしれません。グリッド ヘルパーでフレームワークを使用する予定がない場合の最も簡単な方法は、CSSそれぞれを でラップhtmlwidgettags$div()て使用することCSSです。また、RStudio http://github.com/rstudio/flexdashboardの非常に優れた新しいフレックスボックス ベースのダッシュボード パッケージにも興味があるかもしれません。

# Load energy projection data
# Load energy projection data
library(networkD3)
URL <- paste0(
  "https://cdn.rawgit.com/christophergandrud/networkD3/",
  "master/JSONdata/energy.json")
Energy <- jsonlite::fromJSON(URL)
# Plot
sn <- sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
              Target = "target", Value = "value", NodeID = "name",
              units = "TWh", fontSize = 12, nodeWidth = 30,
              width = "100%")
library(leaflet)
data(quakes)

# Show first 20 rows from the `quakes` dataset
leaf <- leaflet(data = quakes[1:20,]) %>% addTiles() %>%
  addMarkers(~long, ~lat, popup = ~as.character(mag))


library(htmltools)
browsable(
  tagList(list(
    tags$div(
      style = 'width:50%;display:block;float:left;',
      sn
    ),
    tags$div(
      style = 'width:50%;display:block;float:left;',
      leaf
    )
  ))
)
于 2016-03-11T22:39:23.007 に答える