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

282
Vistas
Seleccionar nodo específico NetworkD3

¿Hay alguna forma de seleccionar un nodo específico usando NetworkD3 para cambiar su color?

Aquí está mi código. ¡Me gustaría usar customJS para lograr eso!

 p <- forceNetwork(Links = links, Nodes = nodes, Source = 'source', Target = 'target', NodeID = 'name', Group = 'group', Value = "value", Nodesize = 'size', radiusCalculation = JS("d.nodesize/2"), zoom = TRUE, arrows = FALSE, linkWidth = JS("function(d){return d.value;}"), linkDistance = JS("function(d){return d.value*100}"), charge = gravity, opacity = 0.95, fontSize = 24, bounded = FALSE, linkColour = "#424242" ) customJS <- "function() { d3.selectAll('.node text').style('fill', 'white').attr('stroke-width', '.1px').attr('stroke', '#3f3f3f'); d3.select('body').style('background-color', '#15171A'); simulation = this; simulation.stop(); for (var i = 0; i < 300; ++i) simulation.tick(); simulation.restart(); }" g <- htmlwidgets::onRender(p, customJS)
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

La forma canónica de controlar el color de los nodos es usar el argumento Group para especificar una columna en el marco de datos de sus nodes que especifica un grupo para cada nodo. Puede tener un solo nodo en un grupo único y/o puede tener varios nodos en un grupo, y puede tener tantos grupos como desee (al menos hipotéticamente, pero obviamente limitado por los recursos de su máquina y la cantidad de colores/ grupos que efectivamente se pueden ver en su pantalla).

De forma predeterminada, el color de cada grupo se elige automáticamente de la paleta de colores D3 predeterminada. Si desea especificar una paleta diferente, o si desea especificar colores específicos para grupos específicos, puede modificar el valor predeterminado para el argumento colourScale de colores.

 library(networkD3) data(MisLinks) data(MisNodes) MisNodes$group <- ifelse(as.character(MisNodes$name) > "M", "group_1", "group_2") colourScale <- 'd3.scaleOrdinal().domain(["group_1", "group_2"]).range(["#FF0000", "#0000FF"]);' forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source", Target = "target", Value = "value", NodeID = "name", Group = "group", opacity = 1, colourScale = colourScale)

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Gelvez 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