How to increase the figure size above the screen limit?

18 visualizzazioni (ultimi 30 giorni)
I need to export a large-extent-plot with a high level of detail (to be able to zoom the saved image and to see the details).
Printing the figure with high resolution
print(figureName,'imageName','-dpng','-r1000')
does not increase the level of detail, it only saves the actual detail with high resolution.
I tried to increase the figure
figureName = figure('Position',[1 1 10000 10000])
however, the size of the figure is somehow limited (probably by the screen size).
Is there a way?
  2 Commenti
Constantino Carlos Reyes-Aldasoro
Have you tried using imwrite instead of print? Print will use a figure, whilst imwrite can generate the output directly from the data. It may work.
Karel
Karel il 2 Feb 2022
Thank you. As I understand, imwrite is for image data (i.e. rasters/arrays). I have scatter/plot output (point and line graph).

Accedi per commentare.

Risposta accettata

Simon Chan
Simon Chan il 2 Feb 2022
Try the following:
[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];
scatter3(x,y,z);
f = gcf;
f.Visible='off'; % Make it invisible
f.Position=[1 1 10800 5400]; % Increase the size bigger than my screen resolution
print(gcf,'test.png','-dpng','-r1000');
data = imread('test.png'); % File size has 2.9M
[Ny,Nx,Nc] = size(data); % Get back the number of pixels
Ny =
7240
Nx =
14271

Più risposte (0)

Categorie

Scopri di più su Images in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by