Python - Error al guardar gráfica.

 
Vista:
Imágen de perfil de Zhisi

Error al guardar gráfica.

Publicado por Zhisi (21 intervenciones) el 05/01/2018 11:58:16
Hola a todos.
Estoy creando una función para representar datos en forma de gráfica y poder guardarla en forma de imagen. El problema es que cuando crea la imagen, ésta está en blanco.

El script principal es:
1
2
3
4
5
6
7
8
import f02_graphs as gr
 
y = [1, 7, 3, 4]
x = [0, 1, 2, 3]
 
d = "Z:\Trabajos\Python 3\proyectos\p00_banco_de_pruebas"
 
gr.one_line(x, y, save=d, title='Kosovo')

La función está en una librería creada por mí.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import matplotlib.pyplot as plt
 
 
def one_line(x, y, show=True, save=False, title="Title", xlab="Abscissa",
             ylab="Ordinate"):
    # Representa con una linea la lista de datos pasada como parametro.
    #
    # x: almacena los datos de la coordenada x.
    # show: determina si se muestra la grafica por pantalla.
    # save: almacena el directorio para guardar la grafica como una
    #       imagen. Si su valor es None, no se guarda la imagen.
    # title: titulo de la grafica.
    # xlab: etiqueta del eje x.
    # ylab: etiqueta del eje y.
    #
    # Creamos la grafica.
    plt.figure()
    # Dibujamos la representacion de los datos.
    plt.plot(x, y)
    # Añadimos el titulo.
    plt.title(title)
    # Añadimos las etiquetas a los ejes.
    plt.xlabel(xlab)
    plt.ylabel(ylab)
    # Añadimos una rejilla.
    plt.grid(True)
    # Ajustamos los ejes a la zona con datos.
    plt.axis('tight')
    #
    # Mostramos la imagen de la grafica por pantalla.
    if show:
        plt.show()
    #
    # Guardamos la imagen en un directorio introducido por el usuario.
    if save != False:
        plt.savefig(save + "/" + title + ".png")

Si llamo a la función desde el script principal, la gráfica se muestra por pantalla correctamente y se genera un fichero en el directorio indicado y con el nombre y formatos correctos. Pero la imagen está en blanco.

Sin embargo, si copio los comandos de la función en el script principal y ejecuto el código, todo funciona correctamente y se me genera correctamente la imagen de la gráfica en el directorio indicado y con el nombre y extensión indicados.

¿Alguna idea de dónde puede estar el problema?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Zhisi

Error al guardar gráfica.

Publicado por Zhisi (21 intervenciones) el 08/01/2018 11:52:21
Me autorespondo.

Para que no me de problema tengo que guardar primero la imagen y después mostrarla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Error al guardar gráfica.

Publicado por xve (1646 intervenciones) el 08/01/2018 12:55:51
Gracias por comentarlo Zhisi!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar