matlab plot won't fit figure
33 views (last 30 days)
Show older comments
Cameron Fitzgerald
on 9 Apr 2020
Commented: James Browne
on 9 Apr 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 Comments
Ameer Hamza
on 9 Apr 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?
Accepted Answer
James Browne
on 9 Apr 2020
Edited: James Browne
on 9 Apr 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282997/image.jpeg)
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282998/image.png)
Hope this helps =)
2 Comments
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!