问题描述
我的桑基图有很长的(ish)节点标签,我想旋转这些标签,以便可以从上到下而不是从左到右阅读它们。理想情况下,我可以将这些旋转的节点标签直接放置在节点(而不是边缘)上。在基本 R 图中是否有类似 'srt' 选项的东西?
解决方法
您可以将 JavaScript 添加到 HTMLWidgets 以更改某些文本属性/样式...
library(networkD3)
library(htmlwidgets)
links <- data.frame(
src = c(0,1,2,2),target = c(3,4,5,3,5),value = 1
)
nodes <- data.frame(name = paste0("node",1:6))
sn <- sankeyNetwork(
Links = links,Nodes = nodes,Source = 'src',Target = 'target',Value = 'value',NodeID = 'name',fontSize = 16,width = 600,height = 300,margin = list("left" = 100)
)
sn <- onRender(
sn,'
function(el,x) {
d3.select(el)
.selectAll(".node text")
.attr("text-anchor","middle")
.style("writing-mode","vertical-rl")
.style("text-orientation","upright");
}
'
)
sn