cambiar el tamaño de la figura y el formato de la figura en matplotlib
Quiero obtener fig1 exactamente de 4 por 3 pulgadas de tamaño, y en formato tiff corrigiendo el siguiente programa:
import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
plt.plot(list1, list2)
plt.savefig('fig1.png', dpi = 300)
plt.close()
Alguna ayuda?
3 answers
Puede establecer el tamaño de la figura si crea explícitamente la figura con
plt.figure(figsize=(3,4))
Para cambiar el formato de la figura guardada, simplemente cambie la extensión en el nombre del archivo. Sin embargo, no se si alguno de los backends de matplotlib soporta tiff
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-14 13:38:01
La primera parte (establecer el tamaño de salida explícitamente) no es demasiado difícil:
import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
fig = plt.figure(figsize=(4,3))
ax = fig.add_subplot(111)
ax.plot(list1, list2)
fig.savefig('fig1.png', dpi = 300)
fig.close()
Pero después de una búsqueda rápida en Google en matplotlib + tiff, no estoy convencido de que matplotlib pueda hacer tiff
parcelas. Hay alguna mención de la GDK backend ser capaz de hacerlo.
Una opción sería convertir la salida con una herramienta como imagemagick convert
.
(Otra opción es esperar aquí hasta que un verdadero experto en matplotlib aparezca y demuestre que estoy equivocado; -)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:07
Puede cambiar el tamaño de la gráfica agregando esto
plt.rcParams["figure.figsize"] = [16,9]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-11 07:33:24