Question

Je me demande dans MATLAB comment je tracerais un cercle et le montrerais correctement au lieu de le montrer par défaut comme une ellipse. Je suppose que cela a quelque chose à voir avec le système de coordonnées local dans l'axe.

Était-ce utile?

La solution

Vous pouvez utiliser la commande axis equal Pour définir les unités de données comme étant les mêmes sur chaque axe. Voici un exemple:

theta = linspace(0, 2*pi, 100);
subplot(121);                     % Show the default plot
plot(cos(theta), sin(theta));
title('Default axes settings');
subplot(122);                     % Show a plot with equal data units
plot(cos(theta), sin(theta));
title('Equalized tick spacing');
axis equal;

enter image description here

Autres conseils

En plus d'utiliser axis equal comme @gnovice suggéré, vous pouvez désactiver la fonction d'étirement à remplissage en utilisant daspect:

daspect manual

ou même régler explicitement les rapports d'aspect des axes à:

daspect([1 1 1])
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top