Problem Explicitly Defining a Plot Area

2 views (last 30 days)
I am trying to figure out how to explicitly define the area and axes location for a plot. I've looked through this link:
but I haven't had much success, yet. I'm using this code to set my plot area and axis locations:
fig = figure('units','normalized','OuterPosition',[0 0 1 1],'InnerPosition',[0.1 0.1 0.8 0.8],'Position','TightInset');
I want to know the locations of my axes because I'm also going to add annotations for multiple sets of data, and the locations of those annotations will need to be set programmatically.
This code produces the following error:
Error using figure
Value must be numeric and finite
Error in plot_test_model_chamber_wse (line 14)
fig = figure('units','normalized','OuterPosition',[0 0 1 1],'InnerPosition',[0.1 0.1 0.8 0.8],'Position','TightInset');
Can someone please help me fix this error, so I can define my plot area like I need?

Accepted Answer

Star Strider
Star Strider on 1 Dec 2021
The problem is the 'Position','TightInset' name-value pair. The 'Position' property value must be a four-element vector. The 'TightInset' property is one of the Axes Properties, not one of the Figure Properties.
fig = figure('Units','normalized','OuterPosition',[0 0 1 1],'InnerPosition',[0.1 0.1 0.8 0.8]);
.
  4 Comments
Allen Hammack
Allen Hammack on 4 Dec 2021
Thank you! With your suggestions, I can iterate to get the plot to look like what I want!

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!