MATLAB 中二维离散数据图的类型
任何仅限于具有某些值的数据或变量都称为离散数据。在现实生活中可以观察到许多离散数据的例子,例如:
- 掷骰子的输出可以是 1 到 6 之间的任何整数。
- 任何学生在测试中获得的分数范围从 0 到 100。
- 一所房子里的孩子数量。
在处理此类数据时,我们可能需要绘制图形、直方图或任何其他形式的可视化表示来分析数据并获得所需的结果。
MATLAB 提供了多种绘制离散数据的方法。这些包括:
- 垂直或水平条形图
- 帕累托图
- 词干图
- 散点图
- 楼梯
让我们首先使用一些示例二维数据来演示这些不同类型的绘图。
上述数据显示了一家公司在 5 年内的年收入。此数据可以显示在上述任何图中:
条形图:
此图在数组“Year”指定的位置绘制条形图,高度与数组“Revenue”中指定的高度相同
例子:
Matlab
% MATLAB code for Bar graph
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% bar plot
bar(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue');
% title for plot
title('Yearly Revenue')
Matlab
% MATLAB code for horizontal bar graph
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% horizontal bar plot
barh(year,revenue)
% label for X-axis
xlabel('Revenue (in Cr.)');
% label for Y-axis
ylabel('Year');
% title for plot
title('Yearly Revenue')
Matlab
% MATLAB code for Pareto Charts example
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% pareto chart plot
pareto(revenue,year)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
Matlab
% MATLAB code for Stem Charts
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% stem chart plot
stem(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
Matlab
% MATLAB code for Scatter Plot example
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% scatter plot
scatter(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
Matlab
% MATLAB code for Stairstep Plot
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% stairstep plot
stairs(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
输出:
水平条形图:
此图在数组“Year”指定的位置绘制水平条,其长度与数组“Revenue”中指定的长度相同。
例子:
MATLAB
% MATLAB code for horizontal bar graph
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% horizontal bar plot
barh(year,revenue)
% label for X-axis
xlabel('Revenue (in Cr.)');
% label for Y-axis
ylabel('Year');
% title for plot
title('Yearly Revenue')
输出:
帕累托图:
此图以值的降序显示与数据值对应的垂直条。这也显示了由每个条形上方的累积值制成的曲线。除此之外,图表右侧有一个百分比刻度,显示每个条形对所有值总和的贡献百分比。
例子:
MATLAB
% MATLAB code for Pareto Charts example
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% pareto chart plot
pareto(revenue,year)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
输出:
条形图(垂直和水平)和帕累托图可用于表示数据,例如学生在不同学科的分数、不同月份的降雨量以及许多其他数据集。
茎图:
该图显示了一条直线,顶部(或负值的底部)有一个灯泡,对应于数据中给出的值。 X 轴从给定的最小值到最大值进行缩放。这可能导致第一个和最后一个值位于图的边界处。
例子:
MATLAB
% MATLAB code for Stem Charts
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% stem chart plot
stem(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
输出:
散点图:
该图显示了放置在数据中给定值处的点。 Y 轴从数据中的最低值到最高值进行缩放。 X 轴的缩放比例与茎图中类似,从最低值到最高值。
例子:
MATLAB
% MATLAB code for Scatter Plot example
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% scatter plot
scatter(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
输出:
阶梯图:
该图显示了一个阶梯状结构,每一步都从数据中给定的下一个值开始。与散点图类似,X 轴和 Y 轴从给定的最低值到最高值进行缩放。
例子:
MATLAB
% MATLAB code for Stairstep Plot
% creating array for years
year = 2014:1:2018;
% creating array for revenue
revenue = [1.72 2.00 2.08 2.67 2.03];
% stairstep plot
stairs(year,revenue)
% label for X-axis
xlabel('Year');
% label for Y-axis
ylabel('Revenue (in Cr.)');
% title for plot
title('Yearly Revenue')
输出:
Stem、Scatter 和 Stairstep 图是处理数字信号的理想选择。