我想用Matlab绘制一个带有数字标记的散点图。
在编写的时候,我用到了从本地txt中导入的'经纬度'数据,共分为两列。请问如何用类似for i = 1 : N 的循环函数来表达呢?
自己编写的代码是这样的:
下图是样例:
我想用Matlab绘制一个带有数字标记的散点图。
在编写的时候,我用到了从本地txt中导入的'经纬度'数据,共分为两列。请问如何用类似for i = 1 : N 的循环函数来表达呢?
自己编写的代码是这样的:
下图是样例:
你可以按照下面的步骤使用MATLAB绘制带有数字标记的散点图。
load
命令从txt文件中读取数据,并将其存储到一个矩阵中。data = load('data.txt');
x = data(:, 1);
y = data(:, 2);
scatter
函数绘制散点图,其中,x
和y
是散点的坐标,marker
指定标记的形状,size
指定标记的大小。scatter(x, y, 'filled', 'marker', 'o', 'size', 50);
text
函数在每个散点上添加标签,其中,x(i)
和y(i)
是第i
个散点的坐标,num2str(i)
将数字转换为字符串,并在标签上显示。for i = 1:length(x)
text(x(i), y(i), num2str(i), 'fontsize', 12, 'color', 'k', 'horizontalalignment', 'center', 'verticalalignment', 'middle');
end
完整代码如下:data = load('data.txt');
x = data(:, 1);
y = data(:, 2);
scatter(x, y, 'filled', 'marker', 'o', 'size', 50);
for i = 1:length(x)
text(x(i), y(i), num2str(i), 'fontsize', 12, 'color', 'k', 'horizontalalignment', 'center', 'verticalalignment', 'middle');
end
运行代码后,就能够得到带有数字标记的散点图了。你可以根据需要,修改标记的形状、大小和位置等参数。