Matlab下绘制二维散点图

来源:互联网 发布:网络推广总监薪资体系 编辑:程序博客网 时间:2024/05/18 12:03

Matlab下绘制二维散点图


Xiaohui Huang

Network Engineering

China University of Geosciences, Wuhan



今天跑程序的时候得到一个满载数据的out.txt文件,为了更直观的反映数据需要使用Matlab绘制x-y的二维散点图,根据师兄的指点自己实践后整理出了本篇文档,希望大家多多指教。

一、引言

得到的out.txt数据格式如图1所示:(我是在Matlab利用FIle->Import Data导入的)


图1

数据在Matlab中是按照矩阵存储的,从图1右侧就可以很清楚看出,图1的左侧是out.txt的原格式。


二、数据裁剪

显然按照我的需求是不需要out.txt所有的数据,我需要的是第一列(x坐标)和第二列(y坐标),那么如何将第一列和第二列数据从out.txt文件中分离出来呢。前面我们提到了当数据被导入到Matlab中时,数据是按照矩阵的形式进行存储的,对于矩阵来说,我们就可以很容易的到处第一列和第二列的数据了,具体的命令如下:

load out.txt;A=out(:,1:2);

截图如图2所示:


图2

对于命令的解释:

1.load out.txt:我们在左侧选择了out,txt所在的文件夹后(如图3所示),就使用load out.txt,将out.txt导入到矩阵中,此时在Workspace会出现矩阵out(如图3所示)


图3

2.A=out(:,1:2):这一条命令是将矩阵out的第一列到第二列之间所有的行拷贝到矩阵A中。为了方便理解在给大家写一个例子:

A=out(1:3,4:5)
上面这一条命令是将矩阵out的(第一行~第三行)&&(第四列~第五列)之间的数据拷贝到矩阵A中。


为了检验结果,我们可以双击Workspace下面的矩阵A,看到的结果如图4所示:


图4


三、绘图

按照自己的要求,是希望绘制二维坐标图并且每个点直接不需要连线。绘图代码如下所示:

plot(A(:,1),A(:,2),'.');

代码解释:以矩阵A的第一列所有元素为横坐标,以矩阵A第二列所有的元素作为纵坐标,并且每个点标记为“.”。

得到的结果如图5所示:


图5


四、其他

上述过程我们也可以通过函数来解决,在Current Folder下右键新建函数,取名为draw,会看到一个draw.m文件,如图6所示。


图6

双击draw.rm,在中间出填写函数,如图7阴影部分所示,然后保存点击绿色执行按钮。也可以得到图5.


图7


That is all, Thank you.

1 0
原创粉丝点击