2012-07-05 2 views
7

Ho un numero elevato di file che mi servono per creare istogrammi e quindi voglio salvarlo dalla riga di comando. Per trame solito salvarlo in MATLAB utilizzando il seguente comando:In MATLAB come posso salvare un istogramma dalla riga di comando?

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

voglio fare lo stesso per istogrammi:

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

Tuttavia ottengo un errore che dice handle non corretto. Ho anche provato la funzione imwrite, il codice viene eseguito ma salva un'immagine nera vuota. C'è un modo in cui potrò salvare i miei istogrammi?

+0

ciò accade anche quando si utilizza il comando di stampa: stampa (figura, uscita, '- djpeg')? – nicholas

risposta

13

Quando si utilizza hist con un argomento di output, restituisce il conteggio per ogni bin, non un oggetto handle come gli altri tipi di grafici a cui si è abituati.

Invece, afferrare una maniglia per una figura, utilizzare hist senza argomenti di output per tracciare nella figura, quindi salvare la figura.

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

export_fig dal MATLAB file exchange gestisce questo in modo automatico, e ha altre caratteristiche piacevoli pure. Per un esempio su come usarlo vedi un'altra mia risposta here.

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

Puoi spiegare come funziona questo codice? –