XTick と YTick のラベルで LaTeX のフォントを使用することはできますか?

3 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 1 Apr 2013
次のようなコードを指定して、テキストオブジェクトのデフォルトのインタプリタとして LaTeX を指定しています。
set(0,'DefaultTextInterpreter', 'latex')
TEXT オブジェクトで次のように簡単な図を作成します。
plot(1:10);
text(5, 5, '1 2 3 4 5 6 7 8 9 0');
XTickLabel と YTickLabel は作成した TEXT オブジェクトとは別のフォントになっています。ラベルのフォントをテキストオブジェクトと同じように表示する方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 1 Apr 2013
XTickLabel と YTickLabel でLaTeX フォントを設定する方法は MATLAB からは提供されていません。
この問題の回避策は、それぞれのラベルに TEXT オブジェクトを作成する方法があります。
%%figure を作成し、ticklabel を空にする
close all;
plot(1:10);
set(gca,'yticklabel',[], 'xticklabel', [])
%%Tickマークの位置を取得
yTicks = get(gca,'ytick');
xTicks = get(gca, 'xtick');
ax = axis; % x の位置でのもっとも小さい値を取得
HorizontalOffset = 0.1;
%%YTickLabel を希望のフォントに変換
for i = 1:length(yTicks)
%Create text box and set appropriate properties
text(ax(1) - HorizontalOffset,yTicks(i),['$' num2str( yTicks(i)) '$'],...
'HorizontalAlignment','Right','interpreter', 'latex');
end
%%XTickLabel を希望のフォントに変換
minY = min(yTicks);
verticalOffset = 0.2;
for xx = 1:length(xTicks)
% テキストボックスを作成し、近似に関するプロパティを設定
text(xTicks(xx), minY - verticalOffset, ['$' num2str( xTicks(xx)) '$'],...
'HorizontalAlignment','Right','interpreter', 'latex');
end
この回避策をサブプロットにしようとしたとき、新しい軸のたびに図が追加されることに注意してください。ウィンドウや軸の位置決めに関して、小さなずれがあることがあります。この場合、すべてのサブプロットがレンダリングされた後、テキストオブジェクトを追加します。

More Answers (0)

Community Treasure Hunt

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

Start Hunting!