MATLAB: Comment changer la résolution d’une figure de tracé

J’ai quelques points initialement conçus pour une résolution de 512 × 512, comme [128,450] et [336, 500]. En les traçant, j’ai d’abord tracé puis:
 
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])
 
Cependant, lorsque j’essayais de tracer avec une résolution plus petite, par exemple 256 × 256, je n’obtenais qu’une partie des 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])
 
Comment pourrais-je tracer les mêmes points sur une résolution plus petite tout en conservant leur intégrité?
Merci beaucoup!

Meilleure réponse

  • Essayez votre code sans les lignes xlim et ylim
     

    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)