MATLAB 画图问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 22:03:15
画一个散点图 点坐标由a=load('1.txt')读进 相当于a =[1 2;1 7;4 2;2 5];
(举例) 一行代表一个点 比如第一行代表点坐标(1,2)第二行代表点坐标(3,4)
每一个点都在lof这个矩阵(自己建的)里有一个值 第一个点对于第一个值
第二个点对于第二个值 以此类推 要求画出起散点图 重点点要描红
所谓的重点点就是我之前会给一个值 比该值大的就是重点点

大晚上的可能逻辑不太清楚 我已经尽力说了 还有什么不明白的可以问
能不能解释一下这个程序 因为我想把它用作我的一个程序中最后这段可视化的部分
当然 如果能我把这个程序看一下并做一下可视化可追加五十分 很简单的程序

另外 这个程序我也单独运行了 不大正确 只画出了一个红色的点 其他黑的点都没有

谢谢 这个程序单独运行对了 但是我把它加进我的程序里时候 从外面读入一个这样的数据集 也是二维的 这句:plot(a(:,1),a(:,2),'k.') 就显示维数不对 请问是怎么回事?

首先谢谢这样帮忙 我已经追加了积分

还是显示维度不大对 我读入的文件内容是这样的

1 2
3 1
2 5
4 6
2 3
6 8
1 5
4 2
2 3
4 4
1 1
2 2
3 3
4 5
6 1
2 9
4 1
5 7
2 8
3 5
100 200
1000 1000

是这样 我的lof矩阵是一个N*1的矩阵
大概代码:
a=load('1.txt');
na=length(a);
lof=zeros(na,1);
然后在一堆循环里做完运算求出来值放进lof矩阵里

%清屏,清内存
clc
clear
clf
hold on %允许前后两幅图叠加
%赋初值
a =[1 2;1 7;4 2;2 5];
lof = [1 2 3 4];
standard_lof = 3; %这个是判断标准
%
plot(a(:,1),a(:,2),'k.') %把所有点都画上,黑色圆点
I=find(lof> standard_lof) %找出大于判断标准的点
plot(a(I,1),a(I,2),'r.') %用红色圆点标出

===============
看不到黑点是因为黑点正好在三个角上,需要的话可以修改一下坐标范围:

xlim([0,5])
ylim([0,10])

===============
可能因为你的矩阵是2×N的,在前面加一个
a=a';
就好了

==============
我这里显示没有问题啊

%清屏,清内存
clc
clear
clf
hold on %允许前后两幅图叠加
%赋初值
a = [1 2
3 1
2 5
4 6
2 3
6 8
1 5
4 2
2 3
4 4
1 1
2 2
3 3
4 5
6 1
2 9
4 1
5 7
2 8
3 5
100 200
1000 1000];
lof = [1 2 3 4];
standard_lof = 3; %这个是判断标准
%
plot(a(:,1),a(:,2),'k.') %把所有点都画上,黑色圆点