matlab plot won't fit figure

47 vues (au cours des 30 derniers jours)
Cameron Fitzgerald
Cameron Fitzgerald le 9 Avr 2020
Commenté : James Browne le 9 Avr 2020
I'm writing a program that calculates and plots 3 different variable values and plot each set of data side by side for comparison (5 different figures, 3 plots per figure). In all the plots I can use xlim & ylim with the set command to make the plot focus on the area i want and have the axis range i need. But one of the plots it doesn't work.
Graph 1 is what i want the graphs to do
Graph 4 refuses to look like it, changing the axis size just makes the ploted graph bigger or smaller around the data, it doesn't expand the region i want to look at since the values are in a small range. Changing the size with "set" just makes the figure bigger and doesn't affect the graphs.
I just don't understand why its behaving differently from the other graphs. I've uploaded pictures of the plots and code that makes them, as well as a copy of the whole code if that makes it easier to see my mistake.
Thanks for your help, i've looked through a dozen forum posts and none have worked for me
  2 commentaires
Ameer Hamza
Ameer Hamza le 9 Avr 2020
You explained the reason, yourself. The range of values is small, and you also have axis equal. Is there a specific reason for using axis equal?
Cameron Fitzgerald
Cameron Fitzgerald le 9 Avr 2020
No, it was just one the solutions someone had posted to a similar problem and i had just thrown it in there. Looks like that was the source of my problem, thanks

Connectez-vous pour commenter.

Réponse acceptée

James Browne
James Browne le 9 Avr 2020
Modifié(e) : James Browne le 9 Avr 2020
Hello,
I found your problem. It is the "axis equal" commands in the code for the figure 4 plots (3 instances). I donwloaded your code and ran it without the "axis equal" commands in the figure 4 plot code and got the following result:
If you look at the range of data on the X axis versus the range of data on the Y axis, you can see why. When you use axis equal, it was choosing the scale from the X axis and applying it to the Y axis, which means that the Y axis would be visually compressed.
Another thing that the axis equal command does is sets the axis mode settings to manual. Doing that freezes all axis limits at their current values, which is why your xlim and ylim commands had no effect on your plots. See the help page on "axis" for more info:
I figured out your problem by looking at the follwoing sections from the parameter descriptions, near the bottom of the "axis" help page:
Hope this helps =)
  2 commentaires
Cameron Fitzgerald
Cameron Fitzgerald le 9 Avr 2020
It helps a lot! Thank you
James Browne
James Browne le 9 Avr 2020
You are very welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by