一、pie
pie用於描繪平面餅圖。
(1)pie(X)
利用向量X中的數據描繪餅圖。
例如:
X = [1, 1, 2, 2, 3, 4, 5];
pie(X)
得到
注意,X中的數據被看做頻數,餅圖中比率的獲得:X中的元素x[i]/sum(X).
當X中所有元素的和sum(X)< 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)
得到
使用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)