gpt4 book ai didi

r - networkD3 forceNetwork : how to change legend text colour, 文本标签颜色,并将文本标签放在前面?

转载 作者:行者123 更新时间:2023-12-01 23:19:03 36 4
gpt4 key购买 nike

我正在尝试对使用 绘制的网络图进行一些调整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 知识,我不知道如何编写它,甚至不知道它是否可能。

最佳答案

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

library(networkD3)
library(htmltools)

browsable(
tagList(
tags$head(
tags$style('
body{background-color: #DAE3F9 !important}
.nodetext{fill: #000000}
.legend text{fill: #FF0000}
')
),
forceNetwork(Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group", opacityNoHover = 1,
fontSize = 12, legend = T, zoom = T)
)
)

关于r - networkD3 forceNetwork : how to change legend text colour, 文本标签颜色,并将文本标签放在前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36879535/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com