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

160
Vistas
R - problemas de red D3

Estoy usando networkD3 en R para mostrar mis datos (función sankeyNetwork). Me encontré con varios problemas que no parecen tener soluciones disponibles.

Problema 1: si los nombres de los nodos son similares, se usa el mismo color, aunque en total difieren, por ejemplo, si los nombres son 1. "uno dos tres", 2. "uno tres". Los nombres aquí se asignan a través de NodeID. Si se cambia el nombre de 1 a algo así como "Dos uno tres", el problema ya no existe. ¿Hay alguna manera de mostrar los nombres de esta manera y tener los colores asignados de la forma en que se supone que deben hacerlo?

Problema 2: No se muestran decimales en los valores de enlaces o nodos. Este problema es molesto cuando se quiere mostrar porcentajes con decimales. Si un valor está por debajo del 1 % (o tal vez del 0,5 %), solo muestra el 0 % y con todos los valores se redondea al siguiente número completo. ¿Hay alguna manera de mostrar decimales (2 o 3)? Una solución para esto sería aumentar los números multiplicándolos y reemplazando el separador decimal, pero para esto aún no he encontrado una solución completa. La respuesta aquí proporciona una solución para reemplazar el separador decimal en los enlaces. Sin embargo, los nodos aún se muestran como antes y se elimina el signo de la unidad.

Problema 3: agregar títulos a los "grupos" o pasos del nodo. Mis datos están diseñados de manera que hay tres pasos de tiempo con nodos idénticos (8 nodos en cada uno de los 3 pasos). ¿Cómo puedo agregar un título sobre cada uno de los pasos que brinde información personalizada sobre ese "grupo" de nodos? (Supongo que NodeGroup podría ser algo diferente a lo que me refiero, de ahí las comillas).

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

{networkD3} tiene una opción de formato codificada configurada dentro de su JavaScript. Puede restablecerlo para que sea lo que quiera usando la respuesta de ejemplo a la que se vinculó... configurando críticamente la opción de formato en el .format(",.2f") , donde en este caso el 2 significa imprimir dos dígitos después del decimal punto.

 library(networkD3) library(htmlwidgets) nodes <- data.frame(name = c('a','b')) links <- data.frame(source = 0, target = 1, value = 0.34) 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(",.2f"); 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)

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