我正在尝试对使用R中的networkd3 forcenetwork
绘制的网络图进行一些调整。
特别是,我想将文本标签颜色更改为黑色(或白色,黑色背景),并将文本标签更改为节点的前面。标准选项使得读取文本标签非常困难,因为某些标签颜色太浅,而其他标签则受到密集节点簇的阻碍。
如果我也可以更改图例文字颜色会很好,这样我就可以灵活地更改背景颜色。
本文here中指出的一种可能的解决方案是劫持一些未使用的参数。
forceNetwork(Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group", opacity = 0.8,
linkDistance =
JS('function(){d3.select("body").style("background-color", "#DAE3F9");return 50;}'))
然而,由于没有JS的知识,我不知道如何编写它或者它是否可能。
答案 0 :(得分:2)
您可以使用htmltools包添加自定义CSS以设置背景颜色,为图例文本设置颜色以及为节点标签文本着色。更改文本标签的z顺序会复杂得多,因为你必须重新排序SVG中的元素,我不确定这是否值得。
df = pd.DataFrame({'decimal':value},index=['ratio'])
print (df)
decimal
ratio -0.090058