Reduce the line height for an annotation textbox

The following code
annotation('textbox','String',{'\fontsize{10}TEST', '\fontsize{15}7,987,157', '\fontsize{10}+8,829'},'FontName','Consolas')
creates this box
One can notice that the third string is farther than the first one from the the middle one.
Moreover, by increasing the fontsize of the middle string, the last one will go even far away. Also the first string will go a little far away.
annotation('textbox','String',{'\fontsize{10}TEST', '\fontsize{25}7,987,157', '\fontsize{10}+8,829'},'FontName','Consolas')
Is there a way to reduce the line height or, similarly, to reduce the distance between the strings?

8 commentaires

darova
darova le 28 Avr 2020
Look ok on my computer (2013v)
Did you try another font?
giannit
giannit le 29 Avr 2020
I tried with default font, arial, verdana, times new roman, but in all cases the strings are far away
Here is the last idea i have
opengl software
giannit
giannit le 29 Avr 2020
Output doesn't change :c thanks anyway for help
giannit, can you tell what MATLAB release are you using and on which operating system. I tried it on macOS with R2020a, and I get the same output as you. But if I run this on the MATLAB online, it doesn't have extra space (image shown below). MATLAB online use Linux VM. I don't have access to a window machine to cannot try there.
giannit
giannit le 29 Avr 2020
on windows 10.
I just tried on matlab online, the simple 1 line command of the question works without adding extra space, but when I add more sofisticated stuff, other things start to not work properly. I think this is due to limitation of matlab online
I guess these functions were never intended for sophisticated text formatting with multi-line text. That is why there are some issues if the command becomes complex.
Adam Danz
Adam Danz le 29 Avr 2020
Modifié(e) : Adam Danz le 29 Avr 2020
The problem is reproduced in r2020a using Windows 7. It appears that the space between lines n and n+1 is based on the fontsize that is in line n.
Note that the default verticalAlignment of the annotation is "top" but that only affects the entire text box as a whole, not each component within the textbox.

Connectez-vous pour commenter.

 Réponse acceptée

A workaround is simply to move the fontsize command of the last string to the middle string, that is
annotation('textbox','String',{'\fontsize{10}TEST', '\fontsize{25}7,987,157\fontsize{10}', '+8,829'},'FontName','Consolas')

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by