Mengatur ukuran gambar grafik

91

Yang ingin saya lakukan adalah membuat lebar lebih besar dan tinggi lebih kecil. Saya hanya melakukan plot raster tetapi pertanyaan ini berlaku untuk MATLAB mana pun figure. Saya dapat mengubah ukurannya secara manual menggunakan gambar secara langsung saat dibuat tetapi saya ingin program mengeluarkannya dalam ukuran yang tepat untuk memulai.

bir putih
sumber

Jawaban:

81

Properti yang dapat disetel untuk a figuredireferensikan di sini .

Anda kemudian dapat menggunakan:

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]);
Marcus Frödin
sumber
12
Dan bagaimana Anda bisa menyimpan gambar dengan dimensi yang sama dengan yang ditentukan set? As saveas(gcf, file, 'png')menggunakan dimensi default sebagai gantinya.
István Zachar
@ IstvánZachar lihat stackoverflow.com/questions/3600945/…
Emil Lundberg
64

Tuliskan sebagai satu baris :

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

masukkan deskripsi gambar di sini

zinjaai
sumber
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

Ini menghemat gambar dalam dimensi yang ditentukan

pengguna1934314
sumber
8
1 untuk 'PaperPositionMode' Anda perlu 'mencetak' (mengekspor) gambar.
Ali
1

Saya berhasil mendapatkan hasil yang baik dengan urutan berikut (jalankan Matlab dua kali di awal):

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');
Thomas
sumber
0

Pendekatan yang berbeda.
Saat figure()panggilan tentukan properti atau ubah properti pegangan gambar setelahnya h = figure().

Ini membuat gambar layar penuh berdasarkan unit yang dinormalisasi.
figure('units','normalized','outerposition',[0 0 1 1])

The unitsproperti dapat disesuaikan dengan inci, sentimeter, piksel, dll

Lihat figure dokumentasi .

SecretAgentMan
sumber