How do I make accurately proportioned axes?

9 vues (au cours des 30 derniers jours)
Ashlianne Sharma
Ashlianne Sharma le 8 Avr 2021
Hi, so I am trying to plot four contour plots on one figure (subplot).
I want the first one to be the entire domain, the second to be zoomed into something, the third zoomed into something else, the fourth zoomed into something else. So far, I have all my plots on the same figure, but I need them to have proportional axes.
figure(3)
hold on
% a) Entire domain
subplot(2,2,1)
contourf(x,y,mach)
title('Mach Subplot 1: Entire Domain')
% b) zoomed in on the air foil
subplot(2,2,2)
contourf(x,y,mach)
% axis([0 1 0 1])
title('Mach Subplot 2: Air Foil')
xlabel('Chord length')
ylabel('Height')
% c) leading edge
subplot(2,2,3)
contourf(x,y,mach)
title('Mach Subplot 3: Leading Edge')
xlabel('Chord length')
ylabel('Height')
% d) trailing edge
subplot(2,2,4)
contourf(x,y,mach)
title('Mach Subplot 4: Trailing edge')
xlabel('Chord length')
ylabel('Height')
axis equal
caxis([0 2])
hold off
This is my code I hope someone can help me (: thank you!

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Avr 2021
You could linkprop the axes DataAspectRatio property, if it is a matter of getting the units to have the same ratios .
However if it is a matter of having each of the axes have the same visual ratio, then you would do something like putting each of the axes into a different uipanel, and linkprop the Position; or perhaps you could work with the PlotBoxAspectRatio; see https://www.mathworks.com/matlabcentral/answers/777872-problem-with-axis-equal#answer_654472

Plus de réponses (1)

Ashlianne Sharma
Ashlianne Sharma le 8 Avr 2021
nevermind, someone told me to just do the proportions by hand and use xlim and ylim. but if you can find me a better way, I would love that.

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by