matlab_plot实时画点对于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
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 ⽅法⼆
如何用matlab将已知点连线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); %点的形状是 圆圈 o ,点的尺⼨是 5 号。
常见的点形状,线形状,颜⾊如下:
线型说明标记符说明颜⾊说明-实线(默认)+加号符r红⾊--双划线o空⼼圆g绿⾊:虚线*星号b蓝⾊:.点划线.实⼼圆c青绿⾊
x叉号符m洋红⾊
s(square)正⽅形y黄⾊d菱形k⿊⾊^上三⾓形w⽩⾊
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论