希望有辦法解決這個問題。我想在 networkD3 包的 forceNetwork 函式中啟用縮放選項,并在放大和縮小時強制圖例保留在左上角。在下面的示例中,如果放大和縮小圖例不會保留在左上角。我在使用我自己的資料集的 R Shiny 應用程式中有一個類似的網路。有誰知道如何做到這一點?
library(networkD3)
data(MisLinks)
data(MisNodes)
# Create graph
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 1, zoom = T, bounded = F,legend = T)
uj5u.com熱心網友回復:
這是一種將所有圖例元素移動到與該縮放圖層不同的組的方法,因此它們不會隨其余元素一起縮放...
library(networkD3)
library(htmlwidgets)
data(MisLinks)
data(MisNodes)
# Create graph
fn <- forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 1, zoom = T, bounded = F,legend = T)
htmlwidgets::onRender(fn, jsCode = '
function (el, x) {
d3.select("svg").append("g").attr("id", "legend-layer");
var legend_layer = d3.select("#legend-layer");
d3.selectAll(".legend")
.each(function() { legend_layer.append(() => this); });
}
')

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/462648.html
標籤:javascript r d3.js htmlwidgets 网络d3
上一篇:D3強制具有嵌套圓圈的有向圖節點
下一篇:C#中檢查null的語法糖
