matlab中画散点图时怎样在每个点上标记符号?

matlab中画10个点,怎样在每个点上表上相应的符号?分别标注:A,A1,A2,A3,B,B1,B2,B3,C,C1
不用手动标注,因为有很多点....要代码。谢谢~~

1、打开Matlab。

2、首先,获取一组用于作为散点图纵坐标的数据,这里用一个一维数组来作为散点图中的数据,如下图所示,令a=[5,2,1,3]。

3、接着,需要定义散点图的横坐标,给定一组数据作为横坐标,这里依然用一个一维数组,令b=[1,2,3,4]。

4、然后使用scatter函数就可以生成散点图,函数第一个参数为横坐标数据,第二个参数为纵坐标轴数据,因此输入scatter(b,a)。

5、按下回车键,就在Matlab中生成了一个由两组指定数据构成的散点图。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
利用text标记在指定位置显示文字

x=rand(1,10)*10; %因为没有数据,这里用随即数生成10个点的x,y坐标
y=rand(1,10)*10;
L={'A','A1','A2','A3','B','B1','B2','B3','C','C1'}; %10个标注

plot(x,y,'.'); %画十个点
for ii=1:10
text(x(ii)+0.1,y(ii)+0.1,L{ii}); %利用十个点的坐标添加对应标注
%适当增加一些距离,让文字和点分开会美观一些
end
figure(gcf);追问

如果想让标注隐藏起来,只有指向散点的时候相应的标注才显示,能实现吗?

追答

能够实现,不过稍微麻烦一些

这里借用一下Data cursor的功能

matlab的figure窗口本身就有个 Data cursor的功能

在窗口的工具栏里面可以找到这个功能

点上这个功能之后,鼠标会变成“十”字样式

在选中数据之后,回有一个浮动小框显示该点数据的坐标信息,如下图所示


现在我们可以利用这个Data Cursor的功能修改框中的内容以显示标注


首先,我们得现一个函数文件将其保存为dcmcallback.m 文件,内容如下:

function [ txt ] = dcmcallback(empt,event_obj,label)
dcm_obj = datacursormode(gcf);
info=getCursorInfo(dcm_obj);
ind = info.DataIndex;
txt=label{ind};
end


然后,我们运行一下的代码

x=rand(1,10)*10;
y=rand(1,10)*10;
L={'A','A1','A2','A3','B','B1','B2','B3','C','C1'};

plot(x,y,'.');figure(gcf);
dcm_obj = datacursormode(gcf);
set(dcm_obj,'DisplayStyle','datatip','SnapToDataVertex','off','Enable','on');
set(dcm_obj,'UpdateFcn',{@dcmcallback,L});


依旧是画10个散点的图,这个时候Data  Cursor模式自动打开

鼠标会变成“十”字样式

在选中数据点的时候,浮动框就会显示对应的标注,如下图所示

选择别的点的时候,浮动框会自动根据数据改变显示的标注文字

本回答被提问者采纳
第2个回答  推荐于2017-09-18
首先需要建立M文件,编写代码,由于是离散数据,计算保存在一维矩阵中,如下所示:
% calculate the first line
x1 = 0:1:10;
y1 = x1.^2;

由于要绘制散点图,所以不能用plot函数,该函数是绘制连续曲线的!要用stem函数代替,如下所示:
% 绘制离散点会填色,实心
stem(x1,y1,'fill');
当然也可以写成这样子:
% 绘制离散点空心,不填色
stem(x1,y1);

matlab中画散点图时怎样在每个点上标记符号?
1、打开Matlab。2、首先,获取一组用于作为散点图纵坐标的数据,这里用一个一维数组来作为散点图中的数据,如下图所示,令a=[5,2,1,3]。3、接着,需要定义散点图的横坐标,给定一组数据作为横坐标,这里依然用一个一维数组,令b=[1,2,3,4]。4、然后使用scatter函数就可以生成散点图,函数...

matlab中画散点图时怎样在每个点上标记符号?
first line x1 = 0:1:10;y1 = x1.^2;由于要绘制散点图,所以不能用plot函数,该函数是绘制连续曲线的!要用stem函数代替,如下所示:绘制离散点会填色,实心 stem(x1,y1,'fill');当然也可以写成这样子:绘制离散点空心,不填色 stem(x1,y1);

怎么用matlab做散点图,而且给每个点按数据的顺序加上号码
clear x=[1 3 7 10];y=[2 4 9 43];plot(x,y,'r-')hold on for i=1:4 c=num2str(i);c=[' ',c];text(x(i),y(i),c)end axis([0 10 0 50])你能看懂的!望采纳!!

matlab画图时怎么给多个点(有坐标)标注数字序号啊?
1、首先在matlab软件新建一个m文件,然后在m文件的窗口中输入一个正弦函数的图形代码。2、这时候,按下matlab上面的那个run绿色按钮运行这些代码,就可以产生一个周期的正弦函数图形窗口。3、以下以要找到正弦函数最高点的位置。4、利用代码:text(x(p_max),y(p_max),'o','color','g'),其中这...

用MATLAB画了散点图,想在点上标序号,该怎么弄呢?
举个例子 x=rand(1,100);y=rand(1,100);plot(x,y,'.');text(x+.01,y,num2cell(1:100));

MATLAB怎样用代码画散点图?
思路:使用plot()函数将定点绘制出来,并且设置点的样式;如果需要文字标记的话,使用text()函数进行注释。下面给出具体的示例:画出正弦函数在[0,2π]区间的曲线,同时标注出x=π\/4的点。1、计算曲线上的散点并绘图 打开matlab,在命令窗口输入如下代码:>> x=0:pi\/20:pi; % x在[0,2π]...

MATLAB | 绘制scatter散点图时如何自动标注超范围散点?
示意图中,右侧红叉表示横坐标超出的点的纵坐标位置,下方红叉表示纵坐标超出的点的横坐标位置。以下是一段基本实现示例代码与工具函数的使用方法。假设有一段绘制散点图的代码,我们可在其后附加一行代码来标注超出范围的点。例如:通过在代码末尾添加这行代码,即可实现标注超出范围的点。若希望超出范围...

用matlab画散点图
1、首先,我们打开matlab软件,在命令行窗口中输入“help plot”,看一下plot函数的使用方法。2、输入a=[12 34 45 22 8 16;17 19 52 33 42 18]。3、输入“plot(a(1,:),a(2,:),'.');”,用数组的第一行做x轴,第2行做y轴。4、按回车键之后,可以看到已经绘制出散点图了。5、...

matlab如何做散点图
1. 打开MATLAB软件。2. 创建数据。可以使用MATLAB的随机函数生成一些随机数据,或者手动输入数据点。3. 使用plot函数创建散点图。通过指定两个向量作为输入参数来绘制散点图,其中每个向量包含一组数据点的坐标。可以使用'ro'等字符串指定散点的颜色和标记样式。例如,'ro'表示红色的圆圈标记点。如果要...

如何使用matlab绘制散点图
1. 准备数据:首先需要准备两组对应的数据点,这些点将在散点图中表示。2. 使用plot函数:在MATLAB中,可以使用`plot`函数来绘制散点图。其基本语法是`plot`,其中`x`和`y`分别代表两组数据。3. 设置图形属性:可以通过添加不同的参数和函数来定制散点图,例如设置点的样式、颜色、大小等。4. ...

相似回答