2012-07-05 37 views
7

Tôi có một số lượng lớn các tệp mà tôi cần để tạo biểu đồ vì vậy tôi muốn lưu nó từ dòng lệnh. Đối với lô tôi thường lưu nó trong matlab bằng cách sử dụng lệnh sau:Trong MATLAB làm thế nào tôi có thể lưu một biểu đồ từ dòng lệnh?

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

Tôi muốn làm tương tự cho biểu đồ:

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

Tuy nhiên tôi nhận được một lỗi nói rằng xử lý không chính xác. Tôi cũng đã thử chức năng imwrite, mã thực hiện nhưng lưu một hình ảnh đen trống. Có cách nào để tôi có thể lưu biểu đồ của mình không?

+0

điều này cũng xảy ra khi sử dụng lệnh in: print (figure, output, '- djpeg')? – nicholas

Trả lời

13

Khi bạn sử dụng hist với đối số đầu ra, nó trả về số đếm cho mỗi thùng, không phải đối tượng xử lý giống như các loại ô khác mà bạn thường dùng.

Thay vào đó, lấy tay cầm vào một hình, sử dụng hist mà không có đầu ra args để vẽ vào hình, sau đó lưu hình.

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

export_fig từ MATLAB file exchange xử lý việc này cho bạn cách tự động, và có nhiều tính năng tuyệt vời khác là tốt. Ví dụ về cách sử dụng nó, hãy xem một câu trả lời khác của tôi here.

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

Bạn có thể giải thích cách mã này hoạt động không? –

Các vấn đề liên quan