How to change plot figure resolution

I have a few points originally designed for 512x512 resolution, such as [128,450] and [336, 500]. When plotting them, I initially plotted then as:
set(gcf,'units','pixels','position',[500,500,512,512]);
h1 = axes;
set(h1,'position',[0 0 1 1])
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
set (gca, 'visible' , 'off' )
set (gca, 'xtick' , [])
set (gcf, 'color', defaultColor)
axis equal
plot(x,y)
xlim([1 512])
ylim([1 512])
However, when I tried to plot with a smaller resolution, for example 256x256, I would only get part of the points:
set(gcf,'units','pixels','position',[500,500,300,300]);
h1 = axes;
set(h1,'position',[0 0 1 1])
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
set (gca, 'visible' , 'off' )
set (gca, 'xtick' , [])
set (gcf, 'color', defaultColor)
axis equal
plot(x,y)
xlim([1 256])
ylim([1 256])
How could I plot the same points on a smaller resolution but still keep their integrity?
Thank you very much!

1 Commento

I am not sure how the plot alone can draw such a figure. Are you also plotting an image?

Accedi per commentare.

 Risposta accettata

Try your code without the xlim and ylim lines
set(gcf,'units','pixels','position',[500,500,300,300]);
h1 = axes;
set(h1,'position',[0 0 1 1])
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
set (gca, 'visible' , 'off' )
set (gca, 'xtick' , [])
set (gcf, 'color', defaultColor)
axis equal
plot(x,y)

1 Commento

Hi, I find the solution work by explicitly set xlim and ylim as [1,512].
Thank you very much!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by