1
我有一個正的自然數矢量,我正在使用典型的plot()函數在Matlab中繪圖。下面是一個示例圖:Matlab二維圖 - 二進制顯示軸
然而,我需要看到在二進制顯示的向量(y軸)。有沒有辦法改變二進制(基數2)的軸顯示?我嘗試過使用dec2bin,但它只將整數轉換爲無法繪製的字符串。
我有一個正的自然數矢量,我正在使用典型的plot()函數在Matlab中繪圖。下面是一個示例圖:Matlab二維圖 - 二進制顯示軸
然而,我需要看到在二進制顯示的向量(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)));
它重置軸爲十進制在縮放之前,然後在縮放之後將其轉換回二進制。
它的工作原理,但仍有一個問題。它顯示二進制,但錯誤的值。例如。而不是顯示點766,它顯示750.偏移16?但是,在754點,它顯示760.似乎有一些依賴於數字的偏移量。 –
嗯,這很奇怪。你確定?它似乎爲我工作,這裏是一個例子,我展示了兩個:https://i.stack.imgur.com/RSG6s.png – Florian
我意識到它的工作原理只有當你不試圖放大。一旦我放大它就會出錯。以下是一個示例圖:https://drive.google.com/file/d/0B5A_hdYOfvtLWGktbmJnRlowNjQ/view?usp=sharing –