2012-07-05 20 views
7

Tengo una gran cantidad de archivos que necesito para hacer histogramas, por lo tanto quiero guardarlos desde la línea de comandos. Por lo general las parcelas guardarlo en Matlab usando el siguiente comando:En matlab, ¿cómo puedo guardar un histograma desde la línea de comandos?

figure = plot (x,y) 
saveas(figure, output, 'jpg') 

Quiero hacer lo mismo para los histogramas:

figure = hist(x) 
saveas(figure, output, 'jpg') 

Sin embargo, me sale un error que dice mango incorrecta. También probé la función imwrite, el código se ejecuta pero guarda una imagen negra en blanco. ¿Hay alguna manera en la que pueda guardar mis histogramas?

+0

¿Esto también ocurre cuando se utiliza el comando de impresión: imprimir (figura, salida, '- djpeg')? – nicholas

Respuesta

13

Cuando utiliza hist con un argumento de salida, devuelve el recuento de cada contenedor, no un objeto de control como los otros tipos de gráficos a los que está acostumbrado.

En su lugar, agarre una manija a una figura, use hist sin args de salida para dibujar en la figura, luego guarde la figura.

fh = figure; 
hist(x); 
saveas(fh, output, 'jpg') 
close(fh) 
1

export_fig del MATLAB file exchange maneja esto automáticamente, y tiene otras características interesantes también. Para ver un ejemplo de cómo usarlo, vea otra respuesta mía here.

0
fh = figure; 
imhist(x); 
saveas(fh, 'output', 'jpg'); 
+2

¿Puedes explicar cómo funciona este código? –

Cuestiones relacionadas