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

1.8K
Vistas
Cómo obtener la salida del gráfico de Python en la página web html directamente

Estoy usando diferentes bibliotecas como pandas y numpy para generar un marco de datos, que eventualmente genera un gráfico.

Ahora, necesito mostrar este gráfico en una página web simple que está en HTML.

Nota: También estoy dispuesto a tomar 2-3 entradas del usuario en la página HTML y luego pasar esos datos a mi archivo python. Luego, el archivo python genera un gráfico basado en los datos proporcionados (de la página HTML) y necesito pasar este gráfico a una página HTML.

 df[[main_data]].plot()

Aquí, main_data es una variable cuyo valor proviene de la página HTML. Y estoy haciendo código python en SPYDER. Y no estoy usando ningún Framework.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto depende un poco de lo que quieras decir al mostrar el gráfico como html. Puedo ver un par de formas, la primera y más simple es guardar la figura como PNG y luego proporcionar la ruta al archivo en el html:

código pitón:

 import pandas as pd import matplotlib.pyplot as plt s = pd.Series([1, 2, 3]) fig, ax = plt.subplots() s.plot.bar() fig.savefig('my_plot.png')

HTML:

 <img src='my_plot.png'/>

La segunda forma sería codificar la figura como base64. Esto tiene la ventaja de ser portátil y la desventaja de crear archivos html muy grandes y difíciles de manejar. No soy un programador web, por lo que también puede haber otras advertencias de las que no estoy al tanto.

pitón:

 import io import base64 def fig_to_base64(fig): img = io.BytesIO() fig.savefig(img, format='png', bbox_inches='tight') img.seek(0) return base64.b64encode(img.getvalue()) encoded = fig_to_base64(fig) my_html = '<img src="data:image/png;base64, {}">'.format(encoded.decode('utf-8'))

my_html se puede pasar a su archivo html, o puede inyectarlo con jinja2 o lo que sea que use. Aquí hay una publicación SO sobre la visualización de base64 en html https://stackoverflow.com/a/8499716/3639023 y la codificación de imágenes como base64 ¿Cómo convertir el objeto PIL Image.image a una cadena base64?

over 4 years ago · Santiago Trujillo Denunciar

0

La mejor manera de exportar gráficos matplotlib al navegador web es usar la biblioteca mpld3. Aquí está el ejemplo.

 import matplotlib.pyplot as plt import numpy as np import pandas as pd import mpld3 from mpld3 import plugins np.random.seed(9615) # generate df N = 100 df = pd.DataFrame((.1 * (np.random.random((N, 5)) - .5)).cumsum(0), columns=['a', 'b', 'c', 'd', 'e'],) # plot line + confidence interval fig, ax = plt.subplots() ax.grid(True, alpha=0.3) for key, val in df.iteritems(): l, = ax.plot(val.index, val.values, label=key) ax.fill_between(val.index, val.values * .5, val.values * 1.5, color=l.get_color(), alpha=.4) # define interactive legend handles, labels = ax.get_legend_handles_labels() # return lines and labels interactive_legend = plugins.InteractiveLegendPlugin(zip(handles, ax.collections), labels, alpha_unsel=0.5, alpha_over=1.5, start_visible=True) plugins.connect(fig, interactive_legend) ax.set_xlabel('x') ax.set_ylabel('y') ax.set_title('Interactive legend', size=20) mpld3.show()

https://mpld3.github.io/inicio rápido.html

over 4 years ago · Santiago Trujillo Denunciar

0

También puedes usar Plotly para eso. Esto proporciona interactive graphs . También puede escribir los datos generados en HTML files, apply bootstrap styling .

Echa un vistazo a este tutorial en su sitio web .

over 4 years ago · Santiago Trujillo 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