编织后 HTML 中的绘图颜色与 RStudio 中的不同
Plot colours in HTML differ from within RStudio after knit
我正在尝试生成可共享的 HTML 文档,该文档是从 RStudio 中的 R 脚本生成的。
该脚本使用从 networkD3
和 collapsibleTree
包生成的交互图。在 RStudio 查看器中,这些图的配色方案非常明显;项目的颜色,例如蓝色和红色。
但是,当在 HTML 中呈现时,配色方案变成了褪色的灰色:在白色背景上几乎是白色,这使得它很难看清或使用。
我可以使用 knitr passthrough 在 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)
我猜 (?) 有一组特定的条件会触发颜色失败。
我很确定会发生这种情况,因为 collapsibleTree
正在添加影响 forceNetwork
创建的元素的 CSS。你能试着把这个最小的例子放在一个 .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)
```
如果是这样,请尝试使用 devtools::install_github('AdeelK93/collapsibleTree')
安装 collapsibleTree
的开发版本,然后再试一次,看看问题是否消失(以及您的其他问题)。他们在尚未进入 CRAN 版本的 this commit 中添加了命名空间 css。
我正在尝试生成可共享的 HTML 文档,该文档是从 RStudio 中的 R 脚本生成的。
该脚本使用从 networkD3
和 collapsibleTree
包生成的交互图。在 RStudio 查看器中,这些图的配色方案非常明显;项目的颜色,例如蓝色和红色。
但是,当在 HTML 中呈现时,配色方案变成了褪色的灰色:在白色背景上几乎是白色,这使得它很难看清或使用。
我可以使用 knitr passthrough 在 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)
我猜 (?) 有一组特定的条件会触发颜色失败。
我很确定会发生这种情况,因为 collapsibleTree
正在添加影响 forceNetwork
创建的元素的 CSS。你能试着把这个最小的例子放在一个 .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)
```
如果是这样,请尝试使用 devtools::install_github('AdeelK93/collapsibleTree')
安装 collapsibleTree
的开发版本,然后再试一次,看看问题是否消失(以及您的其他问题)。他们在尚未进入 CRAN 版本的 this commit 中添加了命名空间 css。