第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 四维图形可视化
|
1月前
|
数据可视化 JavaScript 前端开发
数据可视化进阶:D3.js在复杂数据可视化中的应用
【10月更文挑战第26天】数据可视化是将数据以图形、图表等形式呈现的过程,帮助我们理解数据和揭示趋势。D3.js(Data-Driven Documents)是一个基于JavaScript的库,使用HTML、SVG和CSS创建动态、交互式的数据可视化。它通过数据驱动文档的方式,将数据与DOM元素关联,提供高度的灵活性和定制性,适用于复杂数据的可视化任务。 示例代码展示了如何使用D3.js创建一个简单的柱状图,展示了其基本用法。D3.js的链式调用和回调函数机制使代码简洁易懂,支持复杂的布局和交互逻辑。
108 3
|
5月前
|
机器学习/深度学习 数据可视化 搜索推荐
Matplotlib数据可视化图表
【7月更文挑战第11天】Python的Matplotlib库是数据可视化的首选工具,支持创建各种图表,如折线图、柱状图、散点图、饼图、箱线图、热图等。安装Matplotlib可使用`conda`或`pip`。通过简单代码示例展示了如何绘制这些图表,包括自定义样式、动态更新及保存图表为图片文件。数据可视化对于理解和传达数据洞察至关重要。
|
6月前
|
数据可视化 Python
利用Matplotlib绘制数据可视化图表
**摘要:** 本文介绍了Python的绘图库Matplotlib在数据分析和科学计算中的重要性。Matplotlib是一个开源库,提供类似MATLAB的接口,支持静态、动态和交互式图表的绘制,并能保存为多种格式。文章详细讲解了Matplotlib的基本用法,包括安装库、导入模块和绘制简单折线图的步骤。还展示了如何绘制柱状图并添加数据标签。通过这些例子,读者可以了解如何利用Matplotlib进行数据可视化,并对其进行自定义以满足特定需求。
66 4
|
7月前
|
数据采集 存储 数据可视化
python数据分析——数据可视化(图形绘制基础)
为了绘制好数据可视化图形,需要掌握数据分析的基础知识,例如数据类型、数据预处理、统计方法等。同时,还需要了解绘图工具的使用,例如Excel、Tableau、Python中的Matplotlib和Seaborn等。掌握数据可视化的基础知识和工具,可以帮助我们更好地理解数据和数据之间的关系,从而做出更加准确的决策和预测。
192 1
|
7月前
|
数据可视化 测试技术 定位技术
数据可视化——如何绘制地图
数据可视化——如何绘制地图
|
数据可视化
第5章 数据可视化——5.3 三维图形绘制
第5章 数据可视化——5.3 三维图形绘制
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.2 二维图形绘制(3)
第5章 数据可视化——5.2 二维图形绘制(3)
|
数据可视化 关系型数据库
第5章 数据可视化——5.2 二维图形绘制(1)
第5章 数据可视化——5.2 二维图形绘制(1)
|
数据可视化 C#
第5章 数据可视化——5.2 二维图形绘制(2)
第5章 数据可视化——5.2 二维图形绘制(2)