標籤:

matlab畫圖坐標軸標註問題,畫紅圈的地方應該怎麼畫?


舉個例子:

% 隨機生成一些xtick用於例子
n = 5;
xt = cumsum(rand(1,n)+0.5);
set(gca,"XTick",xt,"XLim",[xt(1) xt(end)+1],"XTickLabel",sprintfc("T_{%d}",1:n))

% 繪製你需要的部分
fs = 15;
ax = handle(gca);
fmt = "\raisebox{-5pt}{$\underbrace{\hspace{%.1fpt}}_{M_{%d}}$}";
set(ax,"Unit","Point","DefaultTextInterpreter","LaTeX","DefaultTextFontSize",fs)
len = 10/fs*diff(ax.XTick)/diff(xlim)*ax.Position(3);
arrayfun(@(x,l,k)text(x,0,sprintf(fmt,l,k)),...
ax.XTick(1:end-1),len,1:numel(len),"un",0)

% 輸出圖片
% set(gcf,"PaperPositionMode","auto");
% print -r300 -dpng output.png

另外推薦matlab2tikz/matlab2tikz,方便將MATLAB生成的圖像導入LaTeX處理


下括弧是用Latex畫的,你百度找本資料都會講,不過圖片有點變形,你調一下!加油!


我能夠想到的就是用text語句來畫,利用latex語法

text(x,y,"$upperbrace$")


推薦閱讀:

matlab遺傳演算法解決多約束的mtsp問題?
用MATLAB如何找到軌跡圖中的拐點?
matlab怎樣將有NaN的數據刪除整行?謝謝
推崇Mathematica的那些人,理由是什麼?
MATLAB 的符號計算原理是什麼,為什麼不能編譯為 C?

TAG:MATLAB |