Thank you very much for the response. I tried using export_fig and had the same issue with the position of the text, but when reading through the documentation I realized that I can select the renderer. I can also change the renderer for print. I'm running OSX (Mac) and the OpenGL renderer does not produce the expected results. Switching to -painters appears to have solved the issue.
Printing normalized text labels on a plot
4 views (last 30 days)
Show older comments
Allison Lawman
on 17 Oct 2017
Answered: Allison Lawman
on 18 Oct 2017
I am trying to make and print a plot with text labels using normalized units. See the code below to put 1 label 50% between the axes limits and a second label 25% of the way across (x-axis), 95% of the way up (y-axis).
a = zeros(2);
figure;
plot(a);
text(0.5, 0.5, 'Test Label 0.5, 0.5', 'Units', 'Normalized', 'fontsize', 20)
text(0.25, 0.95, 'Test Label 0.95, 0.25', 'Units', 'Normalized', 'fontsize', 20);
print('TestFigure', '-dpng');
The figure appears as intended in the figure window (screenshot below), but when I try to print the figure the text labels are offset from where they should be.
Figure window:

Printed figure:

Any help with printing the figure properly would be greatly appreciated. Thank you.
0 Comments
Accepted Answer
More Answers (1)
See Also
Categories
Find more on Annotations 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!