Text out goes weird on Figure with underscores

25 views (last 30 days)
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

Accepted Answer

Oleg Komarov
Oleg Komarov on 18 Sep 2014
Edited: Oleg Komarov on 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 Comments
Oleg Komarov
Oleg Komarov on 18 Sep 2014
Edited: Oleg Komarov on 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');

Sign in to comment.

More Answers (1)

Ilham Hardy
Ilham Hardy on 18 Sep 2014
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 Comment
Jason
Jason on 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.

Sign in to comment.

Categories

Find more on Graphics Object Properties 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!