第5章 数据可视化——5.1 图形绘制

简介: 第5章 数据可视化——5.1 图形绘制

第5章  数据可视化


知识要点


在科学的研究体系中,将数学公式与数据表现在图表中,是展示符号的具体物理含义及大量数据的内在联系和规律的科学有效的方法。

MATLAB中可以绘制二维、三维和四维的数据图形,并且通过对图形的线型、颜色、标记、观察角度、坐标轴范围等属性的设置,将大量数据的内在联系及规律表现得更加细腻、完善。MATLAB提供众多的设备用图表来显示向量和矩阵,同时包括注释和打印这些图表。

MATLAB拥有大量简单、灵活、易用的二维和三维图形命令,并且用户可以在MATLAB程序中加入声音效果。本章将详细讲述MATLAB中的数据可视化技术。


学习要求

7b6267d5e6b83b4ff55ab042d6b55a05_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5.1  图形绘制


基于由浅入深的原则,本节将从最简单的平面上的点的表示入手,逐步深入,由离散数据的表示到连续数据的表示,使得读者掌握其中规律。


5.1.1  离散数据及离散函数


一个二元实数标量对(x0 ,y0 )可以用平面上的点来表示,一个二元实数标量数组[(x1 ,y1 )(x2 ,y2 )…(xn ,yn )]可以用平面上的一组点来表示。对于离散函数Y=f(X),当X为一维标量数组[x1 ,x2 ,…,xn ]时,根据函数关系可以求出Y相应的一维标量[y1 ,y2 ,…,yn ]

当把这两个向量数组在直角坐标系中用点序列表示时,就实现了离散函数的可视化。当然,这些图形上的离散序列所反映的只是X所限定的有限点上或有限区间内的函数关系。应当注意的是,MATLAB是无法实现对无限区间内的数据的可视化的。


5-1:离散数据和离散函数的可视化。

创建M文件并命名为logfigure.m(同时存为ex5_01.m),利用M文件编辑器在M文件中输入:

clear all
X1 = [1 2 4 6 7 8 10 11 12 14 15 17 18 20];
Y1 = [1 2 4 6 7 8 10 10 8 7 6 4 2 1];           % 生成两个一维实数数组
figure(1)
plot(X1 , Y1 , 'o' , 'MarkerSize' , 15)
X2 = 1 : 20;
Y2 = log(X2);               % 根据log函数生成两个一维实数数组
figure(2)
plot(X2 , Y2 , 'o' , 'MarkerSize' , 15)

运行M文件,结果如图5-1所示。

e27de6a6f1cde9a0f1f4e37c9edd3f46_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-1  logfigure.m运行结果


5.1.2  连续函数


MATLAB中是无法画出真正的连续函数的,因此在实现连续函数的可视化时,首先必须将连续函数用在一组离散自变量上计算函数结果,然后将自变量数组和结果数组在图形中表示出来。

当然,这些离散的点还是不能表现函数的连续性的。为了更形象地表现函数的规律及其连续变化,通常采用以下两种方法:

1)对离散区间进行更细的划分,逐步趋近函数的连续变化特性,直到达到视觉上的连续效果。

2)把每两个离散点用直线连接,以每两个离散点之间的直线来近似表示两点间的函数特性。


5-2:连续函数的可视化。

创建M文件并命名为cosfigure.m(同时存为ex5_02.m),利用M文件编辑器在M文件中输入:

clear all
X1 = (0 : 12) * pi / 6;
Y1 = cos(3 * X1);
X2 = (0 : 360) * pi / 180;
Y2 = cos(3 * X2);
figure(1)
subplot(2,2,1);
plot(X1 , Y1 , 'o' , 'MarkerSize' , 3);
xlim([0 2 * pi])
subplot(2,2,2);
plot(X1 , Y1 , 'LineWidth' , 2);
xlim([0 2 * pi])
subplot(2,2,3);
plot(X2 , Y2 , 'o' , 'MarkerSize' , 3);
xlim([0 2 * pi])
subplot(2,2,4);
plot(X2 , Y2 , 'LineWidth' , 2);
xlim([0 2 * pi])

运行M文件,结果如图5-2所示。

c03844e697f1a8d10b39dfdb0bb029c1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-2  cosfigure.m运行结果


5.1.3  图形绘制示例


5-3:设函数 y = x + sinx + ex,试利用MATLAB绘制该函数在x[-π,π]上的图像。

1)准备图形数据。用户需要选定数据的范围,选择对应范围的自变量,计算相应的函数值。根据要求,需要在命令行窗口中输入下列命令:

clear all
x = - pi : 0.01 : pi;
y = x + sin(x) + exp(x);

2)使用plot函数绘制图形,即在命令行窗口中输入下列命令:

plot(x , y)

得到的结果如图5-3所示。

4a800f2c5cc2406ea82ffb55b6553b2d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-3  绘制的函数图像

3)为了更好地观察各个数据点的位置,给背景设置网格线,同时采用空心圆圈来标记数据点,并将曲线的颜色设置成红色。因此,在命令行窗口中输入:

plot(x , y , '-ro')
grid on

得到的结果如图5-4所示。

d57b9309e934816c9ad4d8f610abfc38_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-4  添加网格线,修改曲线样式

4)给图形添加一些注释。为了进一步使图形具有可读性,用户还需要给图形添加一些注释,例如图形的名称、坐标轴的名称、图例及文字说明等。

例如本示例给图形取名为“y的函数图像x坐标轴和y坐标轴分别取名为“x”“y”;图例设置为“ y = x + sinx + ex。因此,需要在命令行窗口中输入:

title('y的函数图像');
xlabel('x');
ylabel('y');
legend('y = x + sinx + e^{x}');

得到的结果如图5-5所示。

4364e4ab22f0797778040f0cd665bd8b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-5  添加图形注释

5)图形的输出。完成图形的绘制和编辑之后,用户可以将图形打印或者在图形窗口的菜单栏中选择File→Save As命令,将图形保存成用户需要的格式。


5.1.4  图形绘制的基本步骤


通过5.1.3节的示例可以总结出,利用MATLAB绘制图形大致分为如下7个步骤:

1)数据准备。主要工作是产生自变量采样向量,计算相应的函数值向量。

2)选定图形窗口及子图位置。在默认情况下,MATLAB系统绘制的图形为figure.1figure.2……

3)调用绘图函数绘制图形,例如plot函数。

4)设置坐标轴的范围、刻度及坐标网格。

5)利用对象属性值或者图形窗口工具栏设置线型、标记类型及其大小等。

6)添加图形注释,例如图名、坐标名称、图例、文字说明等。

7)图形的导出与打印。


相关文章
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.4 四维图形可视化
第5章 数据可视化——5.4 四维图形可视化
|
Web App开发 数据可视化 BI
数据可视化D3系列——饼状图
饼状图是数据统计中经常用到的另一类图表,饼图可以直观地显示一个数据系列中各项的大小与各项总和的比例,本文将使用D3上手制作一个简单的饼状图 什么是布局 布局是D3中非常重要的内容,有了布局D3才能画出复杂的矢量图。但布局并不是直接绘制图形,只是将初始数据转换成容易画图的图形语言,画图工具能读懂图形语言来进行绘制。 在绘制饼状图中,例如有一组数据[1, 2, 3],只依靠这些数据是画不出的,需要将这些数据转化为圆形的起始角度和终止角度,第一块的角度区域为[0, π/3],第二块的角度区域为[π/3, π]……绘制工具能根据这些角度值进行绘制。「布局只进行数据转换」 D3还提供其他常用图表的
数据可视化D3系列——饼状图
|
5月前
|
数据可视化 Python
利用Matplotlib绘制数据可视化图表
**摘要:** 本文介绍了Python的绘图库Matplotlib在数据分析和科学计算中的重要性。Matplotlib是一个开源库,提供类似MATLAB的接口,支持静态、动态和交互式图表的绘制,并能保存为多种格式。文章详细讲解了Matplotlib的基本用法,包括安装库、导入模块和绘制简单折线图的步骤。还展示了如何绘制柱状图并添加数据标签。通过这些例子,读者可以了解如何利用Matplotlib进行数据可视化,并对其进行自定义以满足特定需求。
54 4
|
6月前
|
数据采集 存储 数据可视化
python数据分析——数据可视化(图形绘制基础)
为了绘制好数据可视化图形,需要掌握数据分析的基础知识,例如数据类型、数据预处理、统计方法等。同时,还需要了解绘图工具的使用,例如Excel、Tableau、Python中的Matplotlib和Seaborn等。掌握数据可视化的基础知识和工具,可以帮助我们更好地理解数据和数据之间的关系,从而做出更加准确的决策和预测。
176 1
|
6月前
|
数据可视化 测试技术 定位技术
数据可视化——如何绘制地图
数据可视化——如何绘制地图
|
数据可视化
第5章 数据可视化——5.3 三维图形绘制
第5章 数据可视化——5.3 三维图形绘制
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.2 二维图形绘制(3)
第5章 数据可视化——5.2 二维图形绘制(3)
|
数据可视化 C#
第5章 数据可视化——5.2 二维图形绘制(2)
第5章 数据可视化——5.2 二维图形绘制(2)
|
数据可视化 关系型数据库
第5章 数据可视化——5.2 二维图形绘制(1)
第5章 数据可视化——5.2 二维图形绘制(1)
|
自然语言处理 数据可视化
第5章 数据可视化——5.2 二维图形绘制(4)
第5章 数据可视化——5.2 二维图形绘制(4)