Matlab的XTickLabel中數值帶下標


%axis為'x''y',分別表示更改x或y刻度
%ticks是字符cell
function settick(axis,ticks)
n=length(ticks);
tkx=get(gca,'XTick');tky=get(gca,'YTick');
switch axis
    case 'x'
        w=linspace(tkx(1),tkx(end),n);
        set(gca, 'XTick', w, 'XTickLabel', []);%刷新刻度,去掉刻度值
        yh=(14*w(1)-w(end))/13;%按坐標軸比例調整刻度縱坐標位置
        for i=1:n
            text('Interpreter','tex','String',ticks(i),'Position',[w(i),yh],'horizontalAlignment', 'center');
        end
    case 'y'
        w=linspace(tky(1),tky(end),n);
        set(gca, 'YTick', w, 'YTickLabel', []);
        xh=(11*w(1)-w(end))/10;
        for i=1:n
            text('Interpreter','tex','String',ticks(i),'Position',[xh,w(i)],'horizontalAlignment', 'center');
        end
end

 

 

例如:
>> x=0:0.1:4*pi;plot(x,sin(x));ticks={'G_1'  'G_2'  'G_3'  'G_4'  'G_5'};settick('x',ticks)
>> figure;x=0:0.1:4*pi;plot(x,sin(x));ticks={'G_1'  'G_2'  'G_3'  'G_4'  'G_5'};settick('y',ticks)

 

from: http://www.ilovematlab.cn/thread-39718-1-1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM