R - networkD3 - sankeyNetwork - разделитель меток значения ссылки тысяч - PullRequest
1 голос
/ 08 апреля 2019

Я использую sankeyNetwork из . Когда я строю свои данные, при наведении курсора мыши на ссылки sankey появляется метка ссылки, а разделитель тысяч в этой метке - запятая. Я хотел бы, чтобы это было точкой.

Вот пример:

library(networkD3)

nodes <- data.frame(name = c('a','b'))
links <- data.frame(source = c(0), target = c(1), value = c(12000))

p <- sankeyNetwork(
  Links = links,
  Source = "source",
  Target = "target",
  Value = "value",
  Nodes = nodes,
  NodeID = "name",
  fontSize = 12,
  nodeWidth = 30,
  iterations = 0
)

p

output

thankss !!

Xevi

1 Ответ

0 голосов
/ 20 мая 2019

Этого можно добиться, переписав заголовки ссылок с помощью htmlwidgets::onRender ...

library(networkD3)
library(htmlwidgets)

nodes <- data.frame(name = c('a','b'))
links <- data.frame(source = c(0), target = c(1), value = c(12000))

p <- sankeyNetwork(
  Links = links,
  Source = "source",
  Target = "target",
  Value = "value",
  Nodes = nodes,
  NodeID = "name",
  fontSize = 12,
  nodeWidth = 30,
  iterations = 0
)

customJS <- '
function(el,x) { 
    var link = d3.selectAll(".link");

    var format = d3.formatLocale({"decimal": ",", "thousands": ".", "grouping": [3], "currency": ["", "\u00a0€"]}).format(",.0f");

    link.select("title").select("body")
        .html(function(d) { return "<pre>" + d.source.name + " \u2192 " + d.target.name +
            "\\n" + format(d.value) + "<pre>"; });
}
'
onRender(p, customJS)

enter image description here

...