我正在尝试生成一个可从RStudio中的R脚本生成的可共享HTML文档。
该脚本使用从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)
我猜测(?)是否存在触发颜色失败的某些条件。
答案 0 :(得分:1)
我很确定会发生这种情况,因为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)
```
如果是,请尝试使用collapsibleTree
安装devtools::install_github('AdeelK93/collapsibleTree')
的开发版本,然后再次尝试,看看问题是否消失(以及您的其他问题)。他们在this commit中添加了名称空间的css,但尚未将其转换为CRAN版本。