Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

607
Views
R networkD3 sankey: agregue valor a la etiqueta del nodo

código de ejemplo para crear un gráfico de Sankey con networkD3::sankeyNetwork() ...

 library("networkD3") a = read.csv(header = TRUE, text = " date,Data Center,Customer,companyID,source,target,value 6/1/2021,dcA,customer1,companyID1,open_list_view_1,open_card_2,1 6/1/2021,dcA,customer1,companyID1,open_card_2,edit_card_3,1 6/1/2021,dcA,customer1,companyID1,edit_card_3,save_card_4,1 6/1/2021,dcA,customer1,companyID1,save_card_4,back_to_card_list_5,2 6/1/2021,dcA,customer1,companyID1,back_to_card_list_5,show_more_6,1 6/1/2021,dcA,customer1,companyID1,show_more_6,view_introduction_7,1 6/1/2021,dcA,customer1,companyID1,view_introduction_7,scroll_down_8,2 6/2/2021,dcA,customer2,companyID2,open_list_view_1,open_card_2,3 6/2/2021,dcA,customer2,companyID2,open_card_2,edit_card_3,1 6/2/2021,dcA,customer2,companyID2,edit_card_3,save_card_4,4 6/2/2021,dcA,customer2,companyID2,save_card_4,back_to_card_list_5,2 6/2/2021,dcA,customer2,companyID2,back_to_card_list_5,show_more_6,1 6/2/2021,dcA,customer2,companyID2,show_more_6,view_introduction_7,1 6/2/2021,dcA,customer2,companyID2,view_introduction_7,scroll_down_8,5 ") node_names <- unique(c(as.character(a$source), as.character(a$target))) nodes <- data.frame(name = node_names) links <- data.frame(source = match(a$source, node_names) - 1, target = match(a$target, node_names) - 1, value = a$value) p <- sankeyNetwork(Links = links, Nodes = nodes, Source = "source", Target = "target", Value = "value", NodeID = "name", sinksRight = FALSE) onRender( p, function(el,x){ // select all our node text var node_text = d3.select(el) .selectAll(".node text") .attr("x", 6 + x.options.nodeWidth) .attr("text-anchor", "start"); } )

Quiero mostrar el número total (el resultado de la suma (valor) por cada nodo) junto a la etiqueta del nodo. Encontré esta publicación en StackOverflow e intenté simular un código JavaScript de acuerdo con la respuesta en la publicación, pero no puedo hacer que funcione. Coloque valores de texto a la derecha del diagrama de sankey

Resultado esperado en la imagen sankey a continuación. ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El argumento jsCode de htmlwidgets::onRender() es un vector de cadena/carácter que contiene JavaScript válido.

 library(networkD3) a = read.csv(header = TRUE, text = " date,Data Center,Customer,companyID,source,target,value 6/1/2021,dcA,customer1,companyID1,open_list_view_1,open_card_2,1 6/1/2021,dcA,customer1,companyID1,open_card_2,edit_card_3,1 6/1/2021,dcA,customer1,companyID1,edit_card_3,save_card_4,1 6/1/2021,dcA,customer1,companyID1,save_card_4,back_to_card_list_5,2 6/1/2021,dcA,customer1,companyID1,back_to_card_list_5,show_more_6,1 6/1/2021,dcA,customer1,companyID1,show_more_6,view_introduction_7,1 6/1/2021,dcA,customer1,companyID1,view_introduction_7,scroll_down_8,2 6/2/2021,dcA,customer2,companyID2,open_list_view_1,open_card_2,3 6/2/2021,dcA,customer2,companyID2,open_card_2,edit_card_3,1 6/2/2021,dcA,customer2,companyID2,edit_card_3,save_card_4,4 6/2/2021,dcA,customer2,companyID2,save_card_4,back_to_card_list_5,2 6/2/2021,dcA,customer2,companyID2,back_to_card_list_5,show_more_6,1 6/2/2021,dcA,customer2,companyID2,show_more_6,view_introduction_7,1 6/2/2021,dcA,customer2,companyID2,view_introduction_7,scroll_down_8,5 ") node_names <- unique(c(as.character(a$source), as.character(a$target))) nodes <- data.frame(name = node_names) links <- data.frame(source = match(a$source, node_names) - 1, target = match(a$target, node_names) - 1, value = a$value) p <- sankeyNetwork(Links = links, Nodes = nodes, Source = "source", Target = "target", Value = "value", NodeID = "name", sinksRight = FALSE) javascript_string <- 'function(el, x){ d3.select(el).selectAll(".node text") .text(d => d.name + " (" + d.value + ")"); }' htmlwidgets::onRender(x = p, jsCode = javascript_string)

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!