How to increase the figure size above the screen limit?

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 Comments

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.
Thank you. As I understand, imwrite is for image data (i.e. rasters/arrays). I have scatter/plot output (point and line graph).

Sign in to comment.

 Accepted Answer

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

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Asked:

on 1 Feb 2022

Answered:

on 2 Feb 2022

Community Treasure Hunt

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

Start Hunting!