Disabling printing underscore as subscript in figures

Underscores print as subscript in figures. Can I disable it because I want to print the underscores as well.
Thanks.

2 件のコメント

Michael Marcus
Michael Marcus 2019 年 4 月 11 日
編集済み: Stephen23 2019 年 4 月 11 日
Although this allows underscores to print, it does not allow special symbols such as \mum to work.. Does anyone know how to allow both.
Mike Marcus
Michael Marcus
Michael Marcus 2019 年 4 月 11 日
I did find out another way to keep the underscore. \_ does work ? I have answered my own question? Convert all underscores in the text to \_ instead of changing the interpreter to none.

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2011 年 6 月 11 日
編集済み: Image Analyst 2018 年 1 月 17 日

38 投票

Set the Interpreter property for that field to 'none'; the default for text() fields is LaTex.
title('This_title has an underline', 'Interpreter', 'none'); % Also works with xlabel() and ylabel()

13 件のコメント

AP
AP 2011 年 6 月 11 日
Thank you very much.
h=gco(1);
set(h,'text','none')
AP
AP 2011 年 6 月 11 日
編集済み: Walter Roberson 2023 年 5 月 9 日
Why this does not work in the following for loop? :(
for i=1:4
subplot(2,2,i)
imshow(im{i})
h=gco;
set(h,'text','none');
title(sprintf('%s_%d',mytitle{i},i))
end
It does not apply the change in text property and prints the subscript.
Walter Roberson
Walter Roberson 2011 年 6 月 11 日
編集済み: Walter Roberson 2023 年 5 月 9 日
Personally I never count on gco being the object I am interested in.
In the above, gco is likely to be the result of imshow(), but imshow() returns an image object, and image objects do not have a 'text' field.
When you title(), a _new_ text object is created to hold the title. That new text object is not going to inherit the properties of the old one.
I would suggest,
for i = 1:4
subplot(2,2,i)
imshow(im{i})
title(sprintf('%s_%d',mytitle{i},i), 'Interpreter', 'none');
end
AP
AP 2011 年 6 月 11 日
You're the best. Thanks.
Jan
Jan 2011 年 6 月 11 日
Another method: Replace '_' by '\_' in the string.
Hang Dong
Hang Dong 2018 年 1 月 17 日
編集済み: Hang Dong 2018 年 1 月 17 日
Thank you, this works.
Addo
Addo 2018 年 2 月 13 日
How can I use this for the legend of a plot? I have a string with underscores that I would like to use for the legend. I don't want to change it to "\_" and 'Interpreter', 'none' doesn't work with legend('show').
AM
AM 2018 年 4 月 12 日
編集済み: Walter Roberson 2018 年 4 月 12 日
try something like this:
leg=legend('data1','data2','data3');
set(leg,'Interpreter', 'none')
Walter Roberson
Walter Roberson 2018 年 4 月 12 日
編集済み: Walter Roberson 2023 年 5 月 9 日
@AM is correct: although legend() does not accept that name/value pair, you can set it on the handle.
Yulong Li
Yulong Li 2023 年 5 月 9 日
It looks like it does not work for stackedplot:
title(filename, 'Interpreter', 'none');
It returns error:
Error using matlab.graphics.chart.Chart/title
Too many input arguments specified when using title with stackedplot.
Is there a way to disable understcore in stackedplot title?
Walter Roberson
Walter Roberson 2023 年 5 月 9 日
It appears that stackedplot treats titles differently. The great majority of plot types are within axes, and in those cases the axes has a Title property that is a text() object. But stackedplot() does not use axes: it is a direct parent of a figure, and the Title property for it is a character vector, with there being no Interpreter property.
It appears that you need to use the method suggested by @Jan in https://www.mathworks.com/matlabcentral/answers/9260-disabling-printing-underscore-as-subscript-in-figures#comment_20281 -- namely to replace the _ with \_
title(regexprep(filename, '_', '\\_'))
Yulong Li
Yulong Li 2023 年 5 月 9 日
@Walter Roberson got it, thanks!
Eliot
Eliot 2025 年 4 月 16 日
Thank you for this easy solution to my messed-up plot titles!

サインインしてコメントする。

その他の回答 (1 件)

HE
HE 2020 年 5 月 5 日

1 投票

If you are using sprintf, \\_ should work for you.
old_cells = sprintf('Old cells: Y = %3.3f (X) \\^ %1.3f',coefs_old);
young_cells = sprintf('Young cells: Y = %3.3f (X) \\^%1.3f',coefs_young);

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

タグ

質問済み:

AP
2011 年 6 月 11 日

コメント済み:

2025 年 4 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by