2014-12-02 109 views
3

我有以下代碼:軸標籤是不可見的?

figure(1); 
suptitle('Percentage of games won with board size'); 
count = 0; 
% relation of board size and the game outcome 
for i = 1:4 % number combination of player and opponent 
    for j = 1:4 % starting indexes for board sizes 
     percentageStepResult = [sum(sizeResultVec{i}(j:4:120) == 1), sum(sizeResultVec{i}(j:4:120) == -1), sum(sizeResultVec{i}(j:4:120) == 0)]; 
     count = count + 1; 
     handle = subplot(4, 4, count); 
     xlabel('x axis'); 
     ylabel('y axis'); 
     pie(percentageStepResult) 
    end 
end 

產生以下情節:

enter image description here

爲什麼沒有這顯示在所有的標籤?我試圖讓整個情節有一個xlabel和一個ylabel,但我很困惑,爲什麼他們甚至不會顯示個別的小情節。

+0

使用'text'影響軸標籤。 – AnonSubmitter85 2014-12-03 02:04:11

回答

1

XY軸的概念毫無意義的我pie圖表,並可能爲Mathworks公司太多,所以他們決定「隱藏」這些毫無意義的標籤。

標籤不會顯示,因爲餅圖下的每個軸的visible屬性設置爲'off'。這隱藏了關於斧頭的所有內容(即蜱,網格線,背景顏色等)。

如果它們對您沒有意義並且您確實希望顯示標籤,則必須將軸visible屬性設置爲'on'。下面的代碼是從你的例子中得到啓發,並告訴你如何去做。

這種方法的問題是,你將不得不手動'隱藏'你不想看到的其他東西。這就是爲什麼我隱藏了蜱,背景和網格線,但斧頭邊框仍然存在。

count = 0 ; 
hdl = zeros(4,4) ; 
for i = 1:4 %// number combination of player and opponent 
    for j = 1:4 %// starting indexes for board sizes 
     percentageStepResult = rand(4,1) ; 
     count = count + 1 ; 
     hdl(i,j) = subplot(4, 4, count) ; 
     pie(percentageStepResult) 
     set(hdl(i,j) , 'Visible','on')   %// set the underlying axes to visible 
     set(hdl(i,j) , 'Color','none')   %// set the axes background color to nothing (transparent) 
     set(hdl(i,j) , 'XTick',[] , 'YTick',[]) %// remove the 'X' and 'Y' ticks 
     grid off         %// make sure there is no grid lines 
     xlabel('x axis'); 
     ylabel('y axis'); 
    end 
end 

注意,我也改變,其保持處理於軸線的變量。調用handle不是一個好主意,因爲它是內置函數的Matlab的名稱。我還將這些手柄放在一個數組中,以便您可以稍後設置座標軸屬性。

另外請注意,您可以將所有的電話打到set(hdl(i,j) , ...)爲一行,我只在這裏爲清晰起見。

編輯:從this questions查看答案,如果您還想隱藏斧頭邊框(X0和Y0線)。


這向您展示瞭如何強制顯示每個斧頭標籤,但實際上它非常混亂。我會建議,而不是創建text對象,並找出如何將它們放在每個餅圖附近。至少你不需要手動管理其他任何東西的可見性。

+2

如果他想要的只是整個繪圖分組的一個座標軸,似乎只是製作一個虛擬座標軸並移除背景會更有意義。或者用uicontrol創建幾個文本標籤。 – excaza 2014-12-02 18:22:46

+0

@excaza,完全同意你的看法。我展示的方法只是解釋和回答_爲什麼標籤不出現_。在他的情況下,我只會用'text'對象。 – Hoki 2014-12-02 18:31:49