networkD3 forceNetwork:如何更改图例文本颜色,文本标签颜色以及如何将文本标签添加到前面?

时间:2016-04-27 03:06:55

标签: r networkd3

我正在尝试对使用R中的 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的知识,我不知道如何编写它或者它是否可能。

1 个答案:

答案 0 :(得分:2)

您可以使用包添加自定义CSS以设置背景颜色,为图例文本设置颜色以及为节点标签文本着色。更改文本标签的z顺序会复杂得多,因为你必须重新排序SVG中的元素,我不确定这是否值得。

df = pd.DataFrame({'decimal':value},index=['ratio'])
print (df)
        decimal
ratio -0.090058