2017-01-23 5 views
1

私は、典型的なplot()関数を使用してMatlabでプロットしている正の自然数ベクトルを持っています。ここでサンプルプロットである:Matlab 2Dプロット - 軸をバイナリで表示

Plotting a natural number vector, axis in radix-10, need to display them in radix-2

しかし、私は、バイナリに表示ベクトル(y軸)を参照する必要があります。バイナリ(基数2)で軸表示を変更する方法はありますか?私はdec2binを使ってみましたが、プロットすることができない文字列にのみ整数を変換します。

L = get(gca,'YTickLabel'); 
set(gca,'YTickLabel',cellfun(@(x) dec2bin(str2num(x)),L,'UniformOutput',false)); 

編集:あなたがズームする機能を望んでいたので、ここでは軸がズーム可能なようにする方法である:

zh = zoom(gcf); 
set(zh,'ActionPreCallBack',@(source,event,s) set(gca,'YTickLabelMode','auto')) 
set(zh,'ActionPostCallBack',@(source,event,s) set(gca,'YTickLabel',cellfun(@(x) dec2bin(str2num(x)),get(gca,'YTickLabel'),'UniformOutput',false))); 

それは小数に軸をリセットし、これについてどのように

答えて

3

ズームの前にバイナリに変換します。

+0

これは動作しますが、まだ問題があります。それはバイナリを表示しますが、間違った値です。例えば。ポイント766を表示する代わりに、750を表示します。オフセット16?しかし、ポイント754には760が表示されます。数値に依存するオフセットがあるようです。 –

+0

うーん、それは変です。本気ですか?それは私のために働くようです、ここに私が両方を示す例があります:https://i.stack.imgur.com/RSG6s.png – Florian

+0

ズームしようとしない場合にのみ動作することに気付きました。ズームインすると間違ってしまいます。ここにサンプルの図があります:https://drive.google.com/file/d/0B5A_hdYOfvtLWGktbmJnRlowNjQ/view?usp=sharing –

関連する問題