How to change plot figure resolution

73 次查看(过去 30 天)
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 个评论
Ameer Hamza
Ameer Hamza 2020-4-27
I am not sure how the plot alone can draw such a figure. Are you also plotting an image?

请先登录,再进行评论。

采纳的回答

Ameer Hamza
Ameer Hamza 2020-4-27
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 个评论
xiaojuezi
xiaojuezi 2020-4-28
Hi, I find the solution work by explicitly set xlim and ylim as [1,512].
Thank you very much!

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by