Text out goes weird on Figure with underscores

Hello, I am trying to output the name of an image file I onto a figure that shows the picture. The name is obtained from and checks out OK in the matlab window.
out2 =
NoSerialNumber_R03C02_3-Swath1_C5_T05_red.tif.
However, it appears on the figure weird
Im assuming its to do with the underscores - how can I correct it? Thanks

 Réponse acceptée

Oleg Komarov
Oleg Komarov le 18 Sep 2014
Modifié(e) : Oleg Komarov le 18 Sep 2014
By default the interpreter of text objects is set to 'tex'. Set it to 'none', i.e.
set(obj,'Interpreter','none')
For reference, check the text property Interpreter.

5 commentaires

Thanks, I tried this and got the following:
Undefined function or variable 'obj'.
Oleg Komarov
Oleg Komarov le 18 Sep 2014
Modifié(e) : Oleg Komarov le 18 Sep 2014
Of course! obj is a generic way to say handle to your object. You didn't post any lines of code. How am I supposed to know what you're doing :) Therefore, my answer is a generic one that you need to adapt either by setting the properties when creating that text object, or after by setting it's property with set().
Im sorry. I just create a figure f and text to it.
figure(f);
movegui(f,'center');
out1=folder;
text(2,-95,out1, 'color', 'b','FontSize',6);
I've found a way anyway:
set(0,'DefaultTextInterpreter','none');
Thnaks for your help. Jason
Oleg Komarov
Oleg Komarov le 18 Sep 2014
Modifié(e) : Oleg Komarov le 18 Sep 2014
Be careful when setting the defaults. It's easy to forget that did it for all cases when 'Interpreter' is a valid property. It's better to call it explicitly for the specific object.
You can use the properties directly with text():
text(2,-95,out1, 'color', 'b','FontSize',6, 'Interpreter','none');
Jason
Jason le 18 Sep 2014
Thankyou, thats perfect.

Connectez-vous pour commenter.

Plus de réponses (1)

Without adjusting your interpreter setting (keep LaTeX interpreter on), you can use backslash just before the underscore to keep the underscore as underscore and not TeX command of subscript:
e.g.
title(NoSerialNumber\_R03C02\_3-Swath1_C5\_T05\_red.tif)

1 commentaire

Jason
Jason le 18 Sep 2014
thanks for the advice, but each file I ready in has a different name so it sno possible for me to manually go and change the text to include an additional backslash.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Object Properties dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by