Printing normalized text labels on a plot

14 visualizaciones (últimos 30 días)
Allison Lawman
Allison Lawman el 17 de Oct. de 2017
Respondida: Allison Lawman el 18 de Oct. de 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.

Respuesta aceptada

Allison Lawman
Allison Lawman el 18 de Oct. de 2017
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.

Más respuestas (1)

the cyclist
the cyclist el 17 de Oct. de 2017
You could try the oft-lauded export_fig function from the File Exchange.

Categorías

Más información sobre Annotations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by