じつはこれをプログラムからやるのは結構面倒だったりします.
なので専用の関数を作ってみました.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb95mR17BjbfD1u2_71LeMX6cdtK5xzNsxZJuDNtJ5h-7zey5vixGmYEiZkH4aSGv47d9lj-anxxDdevdQuiCxit2N-74J4_J-vig29sSg1B5gjYHOb-XMsoCf739QF1hU88V78IRUh59F/s400/scr1.png)
こんなグラフに
>> addxtick(2/pi)とすると
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjet1CNCRkyW90M8GDx0_S4DCObFml-vcCGPgjW53Gjr3rghT1P0bW_5xqSdJIb62Y-_uApwR4a5fVPHKy6JeMn26KMOmYviEESshBvPyV2td3IU_NtGQoVYspr50xYR3tEbh-UnR1OccIw/s400/scr2.png)
こんな風に目盛りがつきます.
ラベルもいじりたいときは
>> addxtick(pi/2,'pi/2')と入れれば
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEYDyCihyphenhyphen-a2-NzJGFjC7EKej1kerwAoscnMbqAGc3lEAbVQ6TZXTOrUm7hg2TWl9uQh0ErfNiKPfSg5thgDu544nrdCmvJcZxxd7cclcDzja_zlXu4pmY5Ax_q2T5rZkxVtb7PuOAwZWX/s400/scr3.png)
となります.便利ですよ.
短いプログラムなのでコピーしてaddxtick.mという名前で保存して使ってください.
function [] = addxtick( tk, tklbl ) %ADDXTICK --- Add new tick to x-axis % Ex. addxtick(3.14) % Ex2. addxtick(3.14, 'Pi') if nargin==1 set(gca,'XTick',unique(sort([get(gca,'XTick'), tk ] ))); else temp = cellstr(get(gca,'XTickLabel')); temp = {temp{:},tklbl}; [temp2,idx] = sort([get(gca,'XTick'),tk]); [temp2,idx2]=unique(temp2); idx=idx(idx2); set(gca,'XTick',temp2); set(gca,'XTickLabel',temp(idx)); end endあと,ほとんど同じですがaddytick.mも置いておきます.
function [] = addytick( tk, tklbl ) %ADDYTICK --- Add new tick to y-axis % Ex. addytick(3.14) % Ex2. addytick(3.14, 'Pi') if nargin==1 set(gca,'YTick',unique(sort([get(gca,'YTick'), tk ] ))); else temp = cellstr(get(gca,'YTickLabel')); temp = {temp{:},tklbl}; [temp2,idx] = sort([get(gca,'YTick'),tk]); [temp2,idx2]=unique(temp2); idx=idx(idx2); set(gca,'YTick',temp2); set(gca,'YTickLabel',temp(idx)); end end
1 件のコメント:
uniqueを使ってるのと、
インデックスの並び替えがポイントですかねー
複数でも対応できるので便利ですな~
コメントを投稿