4

*.RmdRStudio で HTML ウィジェットを使用して R Markdown ドキュメント ( ) を作成しています。関数によって作成された凡例を含む、リーフレットパッケージの関数によって作成されたマップがありaddLegend()ます。これに続いて、 d3heatmapパッケージのd3heatmap()関数によって作成されたヒートマップが続きます。Run All Chunks を使用してコードを実行すると、Viewer ペインに表示される出力は正常に見えます。Knit HTML を使用してコードを実行すると、ポップアップ ウィンドウに表示される出力に凡例が表示されません。

後でヒートマップを表示した場合でも、凡例をマップに表示し続けるにはどうすればよいですか?

以下は、自分で試すことができる例です。http://rstudio.github.io/leaflet/legends.htmlに基づいており、countries.geojson データをhttp://data.okfn.org/data/datasets/geo-boundaries-world-110mからダウンロードする必要があります。.

この例で Knit HTML を使用すると、を使用してヒートマップを含めると、リーフレット マップに 凡例が表示されなくなります。を使用してヒートマップを除外すると、リーフレット マップに凡例が表示されます。{r, eval=TRUE}{r, eval=FALSE}

R バージョン 3.2.3 (2015-12-10)、プラットフォーム: x86_64-w64-mingw32/x64 (64 ビット)、実行環境: Windows 7 x64 (ビルド 7601) Service Pack 1、RStudio バージョン 0.99 を使用しています。 491 およびパッケージ d3heatmap_0.6.1、rgdal_1.1-3、sp_1.2-1、および leaflet_1.0.0。

---
title: "Testing"
output:
  html_document: default
---

Some text.

```{r, message=FALSE}
library(leaflet)
library(rgdal)

countries <- readOGR("json/countries.geojson", "OGRGeoJSON",
  verbose=FALSE)

map <- leaflet(countries) %>% addTiles()
pal <- colorNumeric(
  palette = "YlGnBu",
  domain = countries$gdp_md_est)
map %>%
  addPolygons(stroke = FALSE, smoothFactor = 0.2, fillOpacity = 1,
    color = ~pal(gdp_md_est)) %>%
  addLegend("bottomright", pal = pal, values = ~gdp_md_est,
    title = "Est. GDP (2010)",
    labFormat = labelFormat(prefix = "$"),
    opacity = 1)
```

Some text.

```{r, eval=TRUE}
library(d3heatmap)
d3heatmap(mtcars)
```
4

1 に答える 1

2

leaflet と d3heatmap はどちらも .info という同じ CSS クラスを共有しています。.info の css オプションのチェックを外すと、凡例が再び表示されます。

次のような className パラメータを使用して、CSS クラスを手動で再割り当てする必要があります。 addLegend("bottomright", className = "legendbox", pal = pal, values = ~gdp_md_est,

新しいクラスに追加の CSS 設定を追加する必要があります。

ウェブキャプチャ

于 2016-01-16T08:58:54.393 に答える