Pie Chart in MATLAB (original) (raw)
Last Updated : 23 Jul, 2025
A Pie chart is a circular graph that is divided into sections and each section represents the proportionate part of the whole. In MATLAB we have a function named **pie() which allows us to plot a bar graph.
**Syntax:
_pie(X)
_pie(X) draws a pie chart using the data in X. Each slice of the pie chart represents an element in X.
- Where the _sum(X) ≤ 1, then the areas of the pie slices directly specify the values in X pie draws only a partial pie if sum(X) < 1.
- Where the sum(X) > 1, then the area of each slice of the pie is determined by pie normalizes the values by X/sum(X)
- Here let X be a categorical data type, the slices correspond to categories. The number of elements in the category divided by the number of elements in X becomes The area of each slice.
Now let's move to some examples.
**Example 1: A simple pie chart:
MATLAB `
% data b= [20 30 40 30]
% pie function to draw pie chart pie(b)
`
**Output :

fig 1: Pie chart
**Example 2: Pie chart with offset:
MATLAB `
% data b= [20 30 40 30] % offset first and third by using 1 at explode explode = [1 0 1 0]
% pie function to draw pie chart with % explode 1st and 3rd position data pie(b,explode)
`
**Output :

fig 2: Pie chart with offset
**Example 3: Pie chart with labels:
MATLAB `
% data b= [20 30 40 30]
% labelling on Pie chart labels={'a','b','c','d'}
% pie function to draw pie chart with labels pie(b,labels)
`
**Output :

fig 3: Pie chart with labels
**Example 4: Partial Pie chart:
MATLAB `
% create vector whose sum is less than 1 b= [0.2 0.4 0.1]
% pie function to draw pie chart pie(b)
`
**Output :

fig 4: Partial Pie chart
**Example 5: Compare 2 pie charts:
MATLAB `
% data b= [20 30 40 30] a= [10 40 20 20]
% labelling on pie chart labels={'a','b','c','d'}
% to add more than 1 plot in same figure t = tiledlayout(1,2,'TileSpacing','compact');
% create pie charts ax1 = nexttile; pie(ax1,a) title('Pie chart 1') ax2 = nexttile; pie(ax2,b) title('Pie chart 2')
% create legend and put labels as arguments lgd = legend(labels); % position of legend there are 4 positions %'north','south','east','west' lgd.Layout.Tile = 'north';
`
**Output :

fig 5: Comparison of 2 pie charts