Цвета сюжета в HTML отличаются от RStudio после вязания - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь сгенерировать общий HTML-документ, сгенерированный из скрипта R в RStudio.

Скрипт использует интерактивные графики, сгенерированные из пакетов networkD3 и collapsibleTree. В средстве просмотра RStudio цветовая схема для этих графиков хорошо видна; цвета, такие как синий и красный для предметов.

Однако при визуализации в HTML цветовая схема становится размытой серой: практически белой на белом фоне, что делает ее слишком трудной для просмотра или использования.

Могу ли я указать цвета сюжета в RScript, используя сквозную передачу, я не знаю, что-то вроде:

#+ colourscheme(RdBu)

или мне нужно создать какой-нибудь файл CSS для управления цветами графика? Я неясен и не очень хорошо осведомлен в этой области HTML, и немного смущен, почему цвета вообще изменились!

Заранее спасибо за любую помощь.

- изменить (пример предоставлен)

В ответ на запрос ниже я привел крошечный пример. Однако (!) При визуализации он сохраняет правильную цветовую схему. Мне сейчас неясно, что это вызывает; цвета связаны с "gp" в моей основной диаграмме, и у меня есть только 3 группы, поэтому я должен видеть 3 цвета. Я не могу привести полный пример из-за размера (ограничения данных), поэтому вот схема:

nodes <- data.frame(Name = c('Alpha', 'Beta', 'Charlie'),
                    ID = c(0,1,2),
                    gp = c(1,1,2),
                    n = c(10,15,20))

links <- data.frame(x = c(0, 0, 0, 1, 1, 2, 2),
                    y = c(0, 1, 2, 1, 2, 0, 2),
                    n = c(8, 9, 8, 9, 8, 9, 8))

require(networkD3)
require(RColorBrewer)

forceNetwork(height = 200, width = 400,
             Links = links, Nodes = nodes,
             Source = "x", Target = "y", Value = "n",  # From Links df
             NodeID = "Name", Group = "gp", Nodesize = "n",   # From Nodes df
             arrows = T,
             linkWidth = JS("function(d) { return Math.sqrt(d.value); }"),
             #linkWidth = JS(" d.value"),
             radiusCalculation = JS(" d.nodesize"),
             charge = -10,
             fontSize = 16,
             colourScale = JS("d3.scaleOrdinal(d3.schemeCategory10);"),
             opacity = 0.9,
             bounded = T)

Я предполагаю (?), Что существует определенный набор условий, которые приводят к сбою цветов.

1 Ответ

0 голосов
/ 17 мая 2018

Я почти уверен, что это происходит, потому что collapsibleTree добавляет CSS, который влияет на элементы, созданные forceNetwork. Можете ли вы попытаться поместить этот минимальный пример в файл .Rmd и связать его, чтобы увидеть, показывает ли подобную проблему ...

---
output: html_document
---

```{r echo=FALSE}
nodes <- data.frame(NodeID = c("Alpha", "Beta", "Charlie"),
                    Group = c(1, 2, 3),
                    Nodesize = c(10, 15, 20))

links <- data.frame(Source = c(0, 0, 1, 2),
                    Target = c(1, 2, 2, 0),
                    Value =  c(9, 8, 8, 9))

library(networkD3)
forceNetwork(Links = links, Nodes = nodes,
             Source = "Source", Target = "Target", Value = "Value",
             NodeID = "NodeID", Group = "Group", Nodesize = "Nodesize",
             colourScale = JS("d3.scaleOrdinal(d3.schemeCategory10);"),
             width = 100, height = 100)
```

```{r echo=FALSE}
library(collapsibleTree)
collapsibleTree(warpbreaks, c("wool", "tension", "breaks"), 
                width = 100, height = 100)
```

Если это так, попробуйте установить версию dev collapsibleTree с devtools::install_github('AdeelK93/collapsibleTree'), а затем повторите попытку и посмотрите, исчезнет ли проблема (и ваша другая проблема). Они добавили пространство имен css в этот коммит , который еще не попал в релиз CRAN.

...