A través de este tutorial, aprenderá a usar la trama.IO.función to_image () para guardar una figura como imagen.
Tramamente.IO.a la imagen()
Lo complicado.IO.La función To_Image () le permite convertir una figura complicada específica en una imagen estática.
La sintaxis de la función es como se muestra:
tramamente.IO.to_image (fig, format = none, width = none, hight = none, scale = none, validate = true, motor = 'Auto')
La función acepta los parámetros como se muestra:
La función devuelve los datos de la imagen en bytes.
Ejemplo 1
El siguiente código de ejemplo muestra cómo exportar una figura simple en una imagen estática utilizando To_image.
Importar trama.expresar como PX
importar numpy como np
x = NP.aleatorio.Randn (50)
y = NP.aleatorio.Randn (50)
Fig = PX.dispersión (x = x, y = y)
higo.espectáculo()
En el código anterior, usamos el módulo Express Plotly para crear una gráfica de dispersión simple con datos aleatorios de la función Numpy Randn.
La figura resultante:
Para exportar esta cifra, podemos ejecutar el código como:
Importar trama como PLT
PLT.IO.to_image (fig, format = 'png')
El código anterior debe devolver los datos de bytes de la imagen como se muestra:
b '\ x89png \ r \ n \ x1a \ n \ x00 \ x00 \ x00 \ rihdr \ x00 \ x00 \ x02 \ xbc \ x00 \ x00 \ x01 \ xf4 \ x08 \ x06 \ x00 \ x00 \ x00
\ xdfy \ xfe \ xdf \ x00 \ x00
----truncado
Tenga en cuenta que a veces puede enfrentar el error requerido de Kaleido al ejecutar la función to_image ().
Puede resolver esto utilizando el paquete Kaleido con PIP como:
$ Pip Instalar Kaleido
$ PIP3 Instalar Kalediio
Una vez instalado, relanze su entorno de desarrollo y vuelva a ejecutar el código anterior.
Ejemplo 2 - Guardar bytes en el archivo
En la mayoría de los casos, tener bytes de datos no es muy útil. Sin embargo, podemos usar este byte y escribirlo en un archivo de imagen como se muestra en el código:
Importar trama como PLT
con Open ("Target_Filename.png ", 'wb') como f:
F.escribir (plt.IO.to_image (fig, format = 'png'))
En el ejemplo anterior, usamos la operación del archivo de Python para crear un archivo y escribir los bytes desde la función to_image (). El método anterior debe crear un archivo con el nombre de archivo especificado y guardar la imagen.
La imagen resultante es como se muestra:
Ejemplo 3: especificando dimensiones de imagen y altura
Para exportar la imagen con dimensiones específicas de ancho y altura, podemos especificar estos parámetros como se muestra:
Importar trama como PLT
con Open ("Target_Filename.png ", 'wb') como f:
F.escribir (plt.IO.to_image (fig, ancho = 1200, altura = 800, formato = 'png')))
En el ejemplo anterior, guardamos la imagen en 1200 × 800 dimensiones. Podemos verificar esto ejecutando el comando:
$ exiftool Target_filename.png
Esto debería devolver la salida como se muestra:
Como podemos ver, la imagen resultante tiene 1200 x 800 dimensiones.
Ejemplo 4 - Especificar el motor de exportación de imágenes
Plotly también le permite especificar el motor que desea usar al exportar la imagen. Admite Kaleido y Orca como motores.
A continuación se muestra un ejemplo de cómo especificar el motor de exportación.
Antes de especificar un motor, asegúrese de que esté instalado y esté disponible en la ruta de su sistema.
Por ejemplo, para instalar Kaleido, ejecute el comando:
$ sudo Pip3 Instalar Kaleido
Para Orca, ejecute el comando:
Conda install -C solicitud
$ PIP3 Instalar solicitudes de psutil de órca tractly-órca
Ejemplo:
Importar trama como PLT
con Open ("Target_Filename.png ", 'wb') como f:
F.escribir (plt.IO.to_image (fig, ancho = 1200, altura = 800, format = 'png', motor = "Kaleido"))
El ejemplo anterior ilustra cómo especificar el motor de exportación de imágenes a Kaleido.
Tenga en cuenta que Plotly va a la predeterminación al valor automático. Esto significa que, si Kaleido no está instalado, Plotly usará Orca y Viceversa.
Conclusión
En este artículo, aprendimos cómo podemos exportar una figura a una imagen estática como bytes usando el IO.función to_image (). También aprendimos a especificar un tamaño de imagen personalizado, escribir los bytes en el disco como una imagen, etc.