Note: Use only in the MuPAD Notebook Interface. This functionality does not run in MATLAB. |
Bar charts, histograms, and pie charts help you compare different data samples, categorize data, and see the distribution of data values across a sample. These types of plots are very useful for communicating results of data analysis. Bar charts, histograms, and pie charts can help your audience understand your ideas, results, and conclusions quickly and clearly.
To compare different data samples or to show how individual elements contribute to an aggregate amount, use bar charts. A bar chart represents each element of a data sample as one bar. Bars are distributed along the horizontal or vertical axis, with each data element at a different location. To compare data samples, create a bar chart for two or more data samples. In this case, MuPAD^{®} accesses elements with the same index and plots the bars for these elements next to each other. For example, create three lists of random numbers:
x := [frandom() $ i = 1..10]; y := [frandom() $ i = 1..10]; z := [frandom() $ i = 1..10]
To create a 2-D bar chart, use the plot::Bars2d
function. The chart displays
data from the data samples x
, y
,
and z
. The resulting plot shows the elements with
the same index clustered together. Small gaps separate each group
of elements from the previous and the next group:
plot(plot::Bars2d(x, y, z))
To create a 3-D bar chart, use the plot::Bars3d
function. This function
accepts matrices and arrays. The function also accepts nested lists
with flat inner lists. The plot::Bars3d
function
draws each element as a separate 3-D block. The elements of each row
of an array or a matrix (or the elements of each flat list) appear
along one horizontal axis. Bars that represent elements in the first
column of an array or a matrix appear along the other horizontal axis.
If you use a nested list, the elements of the inner lists with the
same indices appear along the other horizontal axis. By default, the plot::Bars3d
function
does not display gaps between the groups of elements. Use the Gap
option
to create gaps and specify their size:
plot(plot::Bars3d([x, y, z], Gap = [0.5, 0.8]))
Histograms show the distribution of data values across a data
range. They divide the data range into a certain number of intervals
(bins), tabulate the number of values that fall into each bin, and
plot these numbers using bars of varying height. To create a histogram,
use the plot::Histogram2d
function.
By default, this function divides the data range into seven bins.
To specify the number of bins, use the Cells
option.
For example, create the histogram of the following data sample categorizing
the data into 10 bins:
data := [-10.1, -1, 1.1, 3.5, 13, 0, -5.5, 0.5, 7.9, 15, 0.15, 6.7, 2, 9]: plot(plot::Histogram2d(data, Cells = 10))
Pie charts can help you effectively communicate a portion (or
percentage) that each element of a data sample contributes to the
total number of all elements. To create a 2-D pie chart, use the plot::Piechart2d
function.
To create a 3-D pie chart, use the plot::Piechart3d
function. A 3-D pie
chart does not show any additional information. The 3-D view simply
adds depth to the presentation by plotting the chart on top of a cylindrical
base and lets you rotate the plot.
Suppose, you need to analyze the following list of numbers:
data := [-10.1, -1, 1.1, 3.5, 13, 0, -5.5, 0.5, 7.9, 15, 0.15, 6.7, 2, 9]:
First, use the stats::frequency
function
to categorize the data into bins. (See Data Binning for
more details.)
T := stats::frequency(data)
The result is a table that shows the intervals (bins), number
of elements in those bins, and the data elements in each bin. The plot::Piechart2d
and plot::Piechart3d
functions
do not accept tables as arguments. They accept lists, vectors, and
arrays with one row or one column. Before creating a pie chart, extract
the bins and the number of elements in them into two separate tables:
Counts := map(T, op, 2); Bins := map(T, op, 1)
Now, extract the entries from the Bins
and Counts
tables
and create the lists containing these entries:
slices := [Counts[i] $ i = 1..10]: titles := [expr2text(Bins[i]) $ i = 1..10]:
Create a 2-D pie chart by using the plot::Piechart2d
function. The slices
list
specifies the portions that each bin contributes to the total number
of all elements of the data sample. The titles
list
specifies the titles for each piece on the pie chart:
plot(plot::Piechart2d(slices, Titles = titles))
Create a 3-D pie chart from the same data by using the plot::Piechart3d
function.
To rotate the resulting 3-D chart, click any place on the chart, hold
the mouse button and move the cursor:
plot(plot::Piechart3d(slices, Titles = titles, Radius = 0.3))