数据可视化
要使用plot函数来绘制图形,需要执行以下步骤:
- 通过指定要绘制函数的变量x的值的范围来定义x。
- 定义函数,y = f(x)
- 调用plot命令,如下:plot(x,y)
以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y = x,增量值为5。
创建脚本文件并键入以下代码 -
x = [0:5:100];
y = x;
plot(x, y)
在图上添加标题,标签,网格线和缩放
MATLAB允许沿x轴和y轴,网格线添加标题,标签,并且还可以调整轴来绘制图形。
-
xlabel和ylabel命令沿x轴和y轴生成标签。
-
title命令用于在图表上设置标题。
-
grid on命令用于将网格线放在图形上。
-
axis equal命令允许生成具有相同比例因子的绘图和两个轴上的空格。
-
axis square命令生成一个方形图。
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel(‘x’), ylabel(‘Sin(x)’), title(‘Sin(x) Graph’),
grid on, axis equal
在同一个图上绘制多个函数
可以在同一个图上绘制多个图形。以下示例演示了这一概念 -
示例
创建脚本文件并键入以下代码 -
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, ‘.-’), legend(‘Sin(x)’, ‘Cos(x)’)
legend函数的基本用法是:
LEGEND(string1,string2,string3, …)
分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。
**在图上设置颜色**
MATLAB提供了八个基本的颜色选项来绘制图形。 下表显示了颜色及其代码
设置轴刻度
axis命令用来设置轴刻度。可以通过以下方式使用axis命令为x和y轴提供最小和最大值:
axis ( [xmin xmax ymin ymax] )
生成子图
当在同一个图中创建一个绘图数组时,这些图中的每一个图称为子图。
subplot命令用于创建子图。
该命令的语法是 :
subplot(m, n, p)
其中,m和n是绘图数组的行数和列数,p表示放置指定图形的位置。
使用subplot命令创建的每个曲线都可以有自己的特点。 以下示例演示了这一概念 -
示例
下面示例将生成两个区域块 -
创建脚本文件并键入以下代码 -
x = [0:0.01:5];
y = exp(-1.5*x).sin(10x);
subplot(1,2,1)
plot(x,y), xlabel(‘x’),ylabel('exp(–1.5x)sin(10x)’),axis([0 5 -1 1])
y = exp(-2x).sin(10x);
subplot(1,2,2)
plot(x,y),xlabel(‘x’),ylabel(‘exp(–2x)*sin(10x)’),axis([0 5 -1 1])
MATLAB
执行上面示例代码,得到以下结果 -
绘制条形图
bar命令绘制二维条形图
示例
假设有10名学生,这些学生某次考试获得分数是:75,58,90,87,50,85,92,75,60和95,使用这此分数来绘制条形图如下。
创建脚本文件并键入以下代码 -
x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel(‘Student’),ylabel(‘Score’),
title(‘First Sem:’)
print -deps graph.eps
绘制等高线
两个变量的函数的轮廓线是一个曲线,函数有一个恒定值。等高线用于通过连接等于高于某一水平的点(如平均海平面)来创建轮廓图。
MATLAB提供了绘制轮廓图的contour函数。
示例:
contour(theta0_vals, theta1_vals, J_vals, logspace(-2, 3, 20));
%contour(X,Y,Z,v) 使用 X 和 Y 绘制 Z 的等高线图。V规定等高线的范围
%logspace(a,b,N) 把10的a次方到10的b次方区间分成N份
三维图
三维图基本上显示的是由两个变量g = f(x,y)中的函数定义的表面。
像之前一样,要定义g,首先使用meshgrid命令在函数的域上创建一组(x,y)点。 接下来,分配函数本身。 最后,使用surf命令创建一个曲面图。
surf(x, y, g)