XTick と YTick のラベルで LaTeX のフォントを使用することはできますか?
3 views (last 30 days)
Show older comments
次のようなコードを指定して、テキストオブジェクトのデフォルトのインタプリタとして 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
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
この回避策をサブプロットにしようとしたとき、新しい軸のたびに図が追加されることに注意してください。ウィンドウや軸の位置決めに関して、小さなずれがあることがあります。この場合、すべてのサブプロットがレンダリングされた後、テキストオブジェクトを追加します。
0 Comments
More Answers (0)
See Also
Categories
Find more on Axis Labels 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!