I want to eliminate the margins of Axes, but it doesn't work.

29 Ansichten (letzte 30 Tage)
cnrvx732
cnrvx732 am 8 Apr. 2021
Beantwortet: cnrvx732 am 8 Apr. 2021
I tried to remove the left and right margins with the following code, but it did not work.
I have set the width of the OuterPosition minus the margins on both sides of the TightInset to the Position, but the left margin does not disappear. Why is this?
When I moved the plot with the mouse, it was exactly the same width as the figure.
In the attached image, the margins are colored for clarity.
plot(rand(1,20))
ax = gca;
ax.OuterPosition(1)=0;
ax.OuterPosition(3)=1;
ax.Position(3)=ax.OuterPosition(3)-ax.TightInset(1)-ax.TightInset(3);

Akzeptierte Antwort

cnrvx732
cnrvx732 am 8 Apr. 2021
I was solved this problem by inserting following code.
ax.Position(1)=ax.OuterPosition(1)+ax.TightInset(1);

Weitere Antworten (1)

Jan
Jan am 8 Apr. 2021
Try to set the 'Position' property instead:
plot(rand(1,20))
figure('Color', 'y')
ax = gca;
ax.Position(1) = 0;
ax.Position(3) = 1;
  1 Kommentar
cnrvx732
cnrvx732 am 8 Apr. 2021
Thank you for your answer. I want to keep the tick labels and remove the useless margin. I can certainly do this by changing Position(1) and forcing the OuterPosition frame to be hidden outside the Figure, but is it possible to keep the OuterPosition frame inside the Figure and change the Position frame to eliminate the blank space?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by