对于plot画线暂时总结出来几点需要注意的:

一、画两点之间的连线

             绘图的结果是坐标( 1 , 5 )--> (2 , 8 );

          所以在画连续的动态图的时候,需要正确标注好每次坐标 。

          对多个点,比如在矩阵中的多组数据,可以用不同的表示来展现自己想要的结果。

           可以看见 x 的所有数据对按行连在一条线上

            对矩阵进行转置,结果为 (1,2)--> (10,20)连线

 二、画出动态图

        在数据循环里(for),先画两个点的图,然后 pause

for i=1:length(data)
	plot([X(i,1),Y(i,1)],[X(i,2),Y(i,2)],'-b.','MarkerSize',10);
	hold on;  %保持让上一个点显示
	pause(0.05);   %暂停,就可以看到点的变化走向
end

这是参考博客  https://blog.csdn.net/u010480899/article/details/78234884/  他提到的两种绘制动态图的方法都很好

 2.1 方法一

close all;
clear all;
clc;
clf;
xlabel('X轴');
ylabel('Y轴');
box on;
axis([-2,2,-2,2]);
axis equal;
pause(1);
h=line(NaN,NaN,'marker','o','linesty','-','erasemode','none');
t=6*pi*(0:0.02:1);
for n=1:length(t)
    set(h,'xdata',2*cos(t(1:n)),'ydata',sin(t(1:n)));
    pause(0.05);
    frame=getframe(gcf);
    imind=frame2im(frame);
    [imind,cm] = rgb2ind(imind,256);
    if n==1
         imwrite(imind,cm,'test.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);
    else
         imwrite(imind,cm,'test.gif','gif','WriteMode','append','DelayTime',1e-4);
    end
end

2.1 方法二

close all;
clear all;
clc;
clf;
%白色背景
axis([-2,2,-2,2]);
xlabel('X轴');
ylabel('Y轴');
%四周的边框
box on;
%绘图区域
t=0:0.02:10;  
Nt=size(t,2);
x=2*cos(t(1:Nt));
y=sin(t(1:Nt));
%循环绘图
for i=1:Nt;
    cla;
    hold on;
    plot(x,y)
    plot(x(i),y(i),'o');
    frame=getframe(gcf);
    imind=frame2im(frame);
    [imind,cm] = rgb2ind(imind,256);
    if i==1
         imwrite(imind,cm,'test.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);
    else
         imwrite(imind,cm,'test.gif','gif','WriteMode','append','DelayTime',1e-4);
    end
end

三、plot绘图时的颜色和标记设置

           画线:plot ( [x1,y1] , [x2,y2] , '.-b' );    %  线上的点标记是    ,线的格式是  -  ,线的颜色是 蓝色。

            画点:plot( x , y, 'or' , 'MarkerSize', 5);  %点的形状是  圆圈 ,点的尺寸是  5  号。

           常见的点形状,线形状,颜色如下:

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:.

点划线

.

实心圆

c

青绿色

  

x

叉号符

m

洋红色

  

s(square)

正方形

y

黄色

  

d

菱形

k

黑色

  

^

上三角形

w

白色

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐