Đặt kích thước hình biểu đồ


91

Tất cả những gì tôi muốn làm là làm cho chiều rộng lớn hơn và chiều cao nhỏ hơn. Tôi chỉ đang thực hiện các âm mưu raster nhưng câu hỏi này áp dụng cho bất kỳ MATLAB nào figure. Tôi có thể thay đổi kích thước của nó theo cách thủ công bằng cách sử dụng hình trực tiếp khi nó được tạo ra nhưng tôi muốn chương trình tạo nó ra với kích thước phù hợp để bắt đầu.

Câu trả lời:


81

Các thuộc tính có thể được đặt cho a figuređược tham chiếu ở đây .

Sau đó, bạn có thể sử dụng:

figure_number = 1;
x      = 0;   % Screen position
y      = 0;   % Screen position
width  = 600; % Width of figure
height = 400; % Height of figure (by default in pixels)

figure(figure_number, 'Position', [x y width height]);

12
Và làm thế nào bạn có thể lưu hình với cùng kích thước được xác định bởi set? Như saveas(gcf, file, 'png')sử dụng kích thước mặc định thay thế.
István Zachar


64

Viết nó dưới dạng một lớp lót :

figure('position', [0, 0, 200, 500])  % create new figure with specified size  

nhập mô tả hình ảnh ở đây


31
 figure (1)
 hFig = figure(1);
 set(gcf,'PaperPositionMode','auto')
 set(hFig, 'Position', [0 0 xwidth ywidth])
 plot(x,y)
 print -depsc2 correlation.eps;       % for saving in eps, look up options for saving as png or other formats you may need

Thao tác này lưu hình theo các kích thước được chỉ định


8
+1 cho 'PaperPositionMode', điều cần thiết là bạn muốn 'in' (xuất) hình.
Ali

1

Tôi đã quản lý để có được kết quả tốt với trình tự sau (chạy Matlab hai lần khi bắt đầu):

h = gcf; % Current figure handle
set(h,'Resize','off');
set(h,'PaperPositionMode','manual');
set(h,'PaperPosition',[0 0 9 6]);
set(h,'PaperUnits','centimeters');
set(h,'PaperSize',[9 6]); % IEEE columnwidth = 9cm
set(h,'Position',[0 0 9 6]);
% xpos, ypos must be set
txlabel = text(xpos,ypos,'$$[\mathrm{min}]$$','Interpreter','latex','FontSize',9);

% Dump colored encapsulated PostScript
print('-depsc2','-loose', 'signals');

0

Một cách tiếp cận khác.
Trên figure()cuộc gọi chỉ định thuộc tính hoặc sửa đổi các thuộc tính xử lý hình sau h = figure().

Điều này tạo ra một con số toàn màn hình dựa trên các đơn vị được chuẩn hóa.
figure('units','normalized','outerposition',[0 0 1 1])

Các unitsbất động sản có thể được điều chỉnh để inches, cm, pixel, vv

Xem figure tài liệu .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.