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

245
Vistas
Cómo pasar una lista de gráficos plotly a javascript y trazarlos dinámicamente

Tengo una lista de gráficos plotly en python. Me gustaría pasarlos a JavaScript y trazarlos dinámicamente porque la lista siempre es dinámica basada en un archivo de Excel. Esta es la forma en que actualmente lo hago a continuación:

 @app.route("/dashboard") @login_required def dashboard(): graphs = [...] # list of plotly graphs ids = [...] # list of ids for the graphs plot1= graphs[0] plot2 = graphs[1] plot3 = graphs[2] plot4 = graphs[3] return render_template( "some_template.html", plot1 = plot1, plot2 = plot2, plot3 = plot3, )

Luego en JS hago lo siguiente:

 <script type="text/javascript"> var graph1 = {{plot1 | safe}}; Plotly.plot("plot1",graph1, {}); var graph2 = {{plot2| safe}}; Plotly.plot("plot2",graph2, {}); var graph3= {{plot3| safe}}; Plotly.plot("plot3",graph3, {}); </script>

Esto funciona bien, sin embargo, el problema es que dado que la lista siempre es dinámica, puedo tener problemas. la longitud de los identificadores es siempre la misma longitud de los gráficos y está en orden.

Esta es la forma en que traté de abordarlo:

 @app.route("/dashboard") @login_required def dashboard(): graphs = [...] # list of plotly graphs ids = [...] # list of ids for the graphs return render_template( "some_template.html", graphs=graphs, ids = json.dumps(ids) )

Luego en JS hago lo siguiente:

 var graphs = {{graphs | safe}}; var ids = {{ids | safe}}; for (var i = 0; i < graphs.length; i++){ var current_graph = graphs[i]; current_graph.config={displayModeBar: false} Plotly.plot(String(ids[i]), current_graph, {}); }

Este enfoque solo muestra gráficos vacíos. ¿Qué estoy haciendo mal? ¿por favor avise?

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Intenta hacer todo a través de jinja:

 @app.route("/dashboard") @login_required def dashboard(): graphs = [{"graph_id": your_graph}, ...] # list of plotly dict return render_template( "some_template.html", graphs=graphs, )
 <script type="text/javascript"> {% for dict_item in graphs %} Plotly.plot({{dict_item.id}}, {{dict_item.graph}}, {}); {% endfor %} </script>

Si no está seguro de lo que contiene la variable grapg, imprímala en la consola y verifique que esté correctamente valorada:

 <script type="text/javascript"> {% for dict_item in graphs %} console.log({{dict_item.graph}}); Plotly.plot({{dict_item.id}}, {{dict_item.graph}}, {}); {% endfor %} </script>
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