Matlab圖像函數之pie


 

 

一、pie

pie用於描繪平面餅圖。

1pie(X)

利用向量X中的數據描繪餅圖。

例如:

X = [1, 1, 2, 2, 3, 4, 5];
pie(X)

得到

注意,X中的數據被看做頻數,餅圖中比率的獲得:X中的元素x[i]/sum(X).

X中所有元素的和sumX< 1.0時,圖形不是整一個圓。如X = [0.1,0.2,0.3]時,得到

 

2.pie( X, {'...', '...', ...} )

X的意義同上,是數據向量,‘...’是標注。

例子:

X = [2,3,5];
pie(X,{'2','3','5'})

得到

 

二、pie3

pie3用於描繪三維餅圖

例子:

X = [1,2,3];
pie3(X)

得到

 

matlab pie函數繪制動態餅圖

使用pie等函數的第二個參數explode,設置某一個部分與主題的分離狀態來強調重點。利用循環函數circshift可以實現餅的每一塊分別跳躍凸顯出來。

%%實現餅圖每個部分的依次跳躍

x=[1 3 0.5 2.5 2];

explode=[0 1 0 0 0];

pie(x,explode);

axis off

for ii=1:10

    explode=circshift(explode,[0,-1]);

    pie(x,explode);

    pause(0,5);

end

    同樣可以使用pie3函數3D顯示效果

 

對Matlab中畫餅圖的函數pie的一點改進(同時顯示標簽及其百分比)

Matlab中用pie畫餅圖,只能在顯示百分比和顯示標簽二者之間擇其一,而不能同時顯示,針對這個問題,一下代碼有解釋:

 1 clear,clc
 2 money=[5 10 7 15];%輸入數據
 3 name={'George','Sam','Betty','Charlie'};%輸入標簽
 4 explode=[0 1 0 0];%定義突出的部分
 5 bili=money/sum(money);%計算比例
 6 baifenbi=round(bili*10000)/100;%計算百分比
 7 baifenbi=num2str(baifenbi');%轉化為字符型
 8 baifenbi=cellstr(baifenbi);%轉化為字符串數組
 9 %在每個姓名后加2個空格
10 for i=1:length(name)
11     name(i)={[name{i},blanks(2)]};
12 end
13 bfh=cellstr(repmat('%',length(money),1));%創建百分號字符串數組
14 c=strcat(name,baifenbi',bfh');
15 pie(money,explode,c)
View Code

 


免責聲明!

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



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