1

EDIT問題は NetworkD3 の「サイズ変更」メソッドの欠如に関連しているようです: https://github.com/rstudio/flexdashboard/issues/68#issuecomment-228521468

2 つの SankeyNetwork プロットを作成し、それらを Flex ダッシュボードの別のページに表示したいときに問題が発生します。

最初のプロットは、問題なく最初のページに読み込まれます。見た目はまったく同じです。

しかし、2 番目のページをめくると、2 番目の SankeyNetwork プロットが大幅に拡大され、判読できなくなります。「更新」をクリックすると、プロットが自動的に修正され、正しい視点に戻ります。次に、クリックして最初のページに戻ると、そのプロットが同じ方法で拡大されます。

最初のページまたは 2 番目のページに配置するプロットは問題ではないようです...変更する必要があるある種のキャッシュ設定はありますか?

2 ページ目のプロットを拡大

右クリックして「更新」を選択した後のプロット

編集 ここにサンプルコードがあります - RStudio の FlexDashboard テンプレートで作成され、NetworkD3 作成者によって提供された SankeyNetwork の例を利用しています。この中で

---
title: "Example"
output: 
  flexdashboard::flex_dashboard
---
Page 1
==================
```{r setup, include=FALSE}
library(flexdashboard)
library(networkD3)

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

### Page 1 {data-width=650}

```{r}
  s1

```

Page 2
==================

### Page 2 {data-width=350}

```{r}
s1
```
4

4 に答える 4

2

このプルリクエストは問題を部分的に解決すると信じています。テストして確認してください。残念ながら、このソリューションにはいくつかのトレードオフが必要です。プルリクエストでそれらについて議論しようとしましたが、一般的に私の意見では、フレックスダッシュボード以外のコンテキストが優先される必要があるため、サイズ変更メカニズムをそのままにして、またはが 0 のviewBox場合にのみレンダリングします。これがうまくいくことを願っています。heightwidth

これが実際のです。

于 2016-07-02T13:24:21.037 に答える
0

新しい列を使用してサイズを設定すると、この問題はなくなります。私はこれがあなたの問題を解決するに違いない

例:

列 {データ幅=650}

于 2016-06-28T23:54:19.380 に答える
0

ここの一番上の投稿に記載されている手順に従って、問題を解決できました。

https://github.com/christophergandrud/networkD3/issues/122#issuecomment-228551872

sankeyNetwork.js の viewBox コードをコメント アウトし、サイズ変更関数コードのコメントを解除します。

于 2016-06-30T15:29:57.237 に答える