Мои сайты с блогами (включая графики, уценки и т. Д.) Обычно хорошо отображаются как в Chrome, так и в Firefox.Между прочим, они обычно отлично работают и в IE, хотя меня не волнует этот браузер.Я включу это в обсуждение для полноты.
Когда я включаю Sankey Network в blogdown, используя пакет networkD3 R, вещи отображаются «правильно» в Chrome и IE, но не в Firefox.Firefox искусственно сокращает размер Sankey Network , см. Ниже:
![enter image description here](https://i.stack.imgur.com/UA9Zl.png)
Вот код, который я использую.Могу ли я что-нибудь сделать, чтобы Sankey Network правильно отображался в Firefox при использовании Sankey Networks с blogdown?
Я бездельничал с {r, fig.width=x, fig.height=y}
.Увеличение x
и y
увеличивает общий размер изображения, в то же время сохраняя общее изображение в том же «маленьком» блоке блогов, эффективно уменьшая размер Sankey Network даже больше, чем показано выше.Уменьшение x
и y
просто уменьшает размер изображения, также делая Sankey Network меньшим, чем показано выше.Я думаю, что мне нужно исправить проблему рендеринга (присутствует в Firefox, отсутствует в Chrome).
---
title: "Data Analysis"
date: "2019-01-01T18:00:00-09:00"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(blogdown)
library(networkD3)
```
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```{r sankey, echo=FALSE, error=FALSE, message=FALSE, warning=FALSE}
source <- c("A", "A", "B", "C", "D", "D", "E", "E")
target <- c("D", "E", "E", "D", "H", "I", "I", "H")
values <- c(1, 22, 5, 5, 5, 10, 10, 10)
nodes <- data.frame(name = unique(c(source, target)))
links <- data.frame(source = match(source, nodes$name) - 1,
target = match(target, nodes$name) - 1,
value = values)
sankeyNetwork(Links = links, Nodes = nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
units = "unitX", fontSize = 12, nodeWidth = 20)
```
[EDIT] Я обновил свой код, как показано ниже, на основеэтот предыдущий вопрос SO. Тем не менее, он по-прежнему отображается как «маленький» без видимых изменений: (* 1035 *
---
title: "Data Analysis"
date: "2019-01-01T18:00:00-09:00"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(blogdown)
library(networkD3)
```
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```{r sankey, echo=FALSE, error=FALSE, message=FALSE, warning=FALSE}
source <- c("A", "A", "B", "C", "D", "D", "E", "E")
target <- c("D", "E", "E", "D", "H", "I", "I", "H")
values <- c(1, 22, 5, 5, 5, 10, 10, 10)
nodes <- data.frame(name = unique(c(source, target)))
links <- data.frame(source = match(source, nodes$name) - 1,
target = match(target, nodes$name) - 1,
value = values)
sn <- sankeyNetwork(Links = links, Nodes = nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
units = "unitX", fontSize = 12, nodeWidth = 20)
htmlwidgets::onRender(sn, 'document.getElementsByTagName("svg")[0].setAttribute("viewBox", "")')
# also tried this to no avail
# htmlwidgets::onRender(sn, 'document.getElementById().getElementsByTagName("svg")[0].setAttribute()')
```