Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

599
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda