-
2019-12-27 14:35:50
1 matlab设置坐标轴范围
1.xlim()和ylim()函数设置
2.axis()函数同时设置两个坐标轴范围
3.axis manual 等参数控制坐标轴2 遇到问题
由于我需要在一个循环里面绘图,不停刷新数据形成动画,上述函数都不能达到效果,最后采用
set(gca,‘YLim’,[-0.05 1]);
达到想要效果
动态绘图代码如下
for i=1:250:length(result(:,1)) %清除图像 cla %画一个矩形 rectangle('Position',[result(i,2)-0.7 -0.05 1.4 0.05],'FaceColor', '#A2142F'); hold on %设置等坐标轴及控制y轴范围不变 axis equal; set(gca,'YLim',[-0.05 1]); %设置显示文本及其位置 text(result(i,2)-0.50,0.90,strcat('Simulation Time: ',num2str(result(i,1))),'Color','red','FontSize',12); text(result(i,2)+0.1,0.80,strcat('Foward Velocity: ',num2str(result(i,4))),'Color','b','FontSize',12); text(result(i,2)-0.5,0.80,strcat('Vertical Velocity: ',num2str(result(i,5))),'Color','red','FontSize',12); %画一个矩形 rectangle('Position',[result(i,2)-0.1 result(i,3)-0.05 0.2 0.1],'FaceColor', '#EDB120'); hold on %画一个点 plot(result(i,2),result(i,3),'Marker','.','MarkerFaceColor','red','MarkerSize',10) hold on %计算直线坐标 x_ft = result(i,2)-result(i,8)*sin(-result(i,7)); z_ft = result(i,3)-result(i,8)*cos(-result(i,7)); %绘制直线 line([result(i,2) x_ft],[result(i,3) z_ft],'Color','k','LineWidth',2); hold on %暂停 pause(0.00001) %绘图 drawnow grid on; end
更多相关内容 -
MATLAB GUI实现动态画图曲线的源程序代码_flight3u4_动态绘图_matlab_GUI_
2021-10-03 00:23:41MATLAB GUI实现动态画图曲线的源程序代码 -
Matlab动态绘图、展示并保存的一种方法
2021-04-23 17:20:52Matlab可以!下图直观的展示了是sin(ax)的函数图像随参数a是如何变化的。来,直接上Matlab代码。具体某些代码的作用,看代码后面的注释!num = 200;% 参数a的个数,及组成GIF图的总图片个数a_list = linspace(0.5, 5...如何直观地展示某个函数图像随函数中包含的某个参数的变化呢?Matlab可以!
下图直观的展示了是sin(ax)的函数图像随参数a是如何变化的。
来,直接上Matlab代码。
具体某些代码的作用,看代码后面的注释!num = 200;% 参数a的个数,及组成GIF图的总图片个数
a_list = linspace(0.5, 5, num);% 设置参数a的取值范围
x = linspace(0, 2*pi, 200);% 设置自变量x的范围
pic_num = 1;
for i = 1:num
a = a_list(i);
y = sin(a.*x);% 在一个确定的a下得到y=sin(ax)
figure(1);
set(figure(1), 'Color', 'white');% 设置图片窗口背景颜色为白色
plot(x, y, 'LineWidth', 2, 'Color', [0.0118, 0.0359, 0.4824], 'DisplayName', '{\ita}='+string(roundn(a, -2)));
% 绘制x,y曲线,并设置线宽,曲线颜色,曲线图例名称
grid on;% 为绘图窗口加上网格
set(gca,'FontSize',12,'FontName','Bookman Old Style');% 设置图片中字体的大小,样式
xlabel('Label {\itx}', 'FontSize',14);% 设置x轴标签
xlim([min(x), max(x)]);% 设置y轴标签
ylim([-1.2, 1.2]);% 设置y轴显示范围
ylabel('Label {\ity}', 'FontSize',14);% 设置y轴标签
legend('FontSize',14, 'box', 'off');% 为图片加上图例
title('GIF: {\ity}=sin({\itax})', 'FontSize',14);% 增加图片的标题
drawnow;% 立即刷新当前绘图窗口,这是matlab绘图中动态展示的关键
F = getframe(gcf); % 获取当前绘图窗口的图片
Im = frame2im(F); % 返回与电影帧相关的图片数据
[A, map] = rgb2ind(Im, 256); % 将RGB图片转化为索引图片
if pic_num == 1
imwrite(A, map, 'sin.gif', 'gif', 'Loopcount', Inf, 'DelayTime', 0.1);
% 将第一张图片写入‘sin.gif’文件中,并且将GIF播放次数设置成无穷,即保存的GIF图会一直动下去
else
imwrite(A, map,'sin.gif','gif','WriteMode','append','DelayTime',0.1);
% 依次将其他的图片写入到GIF文件当中
end
pic_num = pic_num + 1;
end
其中 imwrite 函数就是起到将循环中得到的图片依次写入到GIF格式的图片中,其中参数‘DelayTime’表示相邻两张图片播放的间隔时间,一定程度上决定了GIF动图播放时的流畅程度!
代码最好电脑上查看,手机上可能会出现错行的情况!
代码看起来很长,但有很大一段是对图片的坐标,题目等属性的设置。
当然我们可以把将图片写入GIF图的过程封装成一个函数,然后把它加入到Matlab的库函数中去,这样以后使用就可以直接调用而不用再重复粘贴这一大串代码了。
如果大家实际使用中有什么问题,欢迎讨论。
-
简单动画Matlab绘图时实现坐标轴水平移动显示-animationprog.m
2019-08-12 23:18:10简单动画Matlab绘图时实现坐标轴水平移动显示-animationprog.m 想必大家都知道windows资源管理器里面的CPU及内存的使用记录的图形,在matlab里面如何实现呢?方法很简单,动态修改x坐标轴的范围即可。下面是一个... -
Matlab—常用操作之动态绘图
2021-11-29 20:37:41一、沿线条跟踪标记 Trace Marker Along Line- MATLAB & SimulinkqqAnimation- MATLAB & Simulink
一、animatedline
Create animated line - MATLAB animatedline (mathworks.com)
h = animatedline; axis([0,4*pi,-1,1]) x = linspace(0,4*pi,100); y = sin(x); pic_num=1; for k = 1:length(x) addpoints(h,x(k),y(k)); F=getframe(gcf); I=frame2im(F); [I,map]=rgb2ind(I,256); if pic_num==1 imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2); elseif mod(pic_num,3)==1 imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2); end pic_num = pic_num + 1; drawnow limitrate end
二、沿线条跟踪标记
Trace Marker Along Line- MATLAB & Simulink
x = linspace(0,10,100); y = sin(x); plot(x,y) hold on p = plot(x(1),y(1),'o','MarkerFaceColor','red'); hold off axis manual pic_num=1; for k = 2:length(x) p.XData = x(k); p.YData = y(k); F=getframe(gcf); I=frame2im(F); [I,map]=rgb2ind(I,256); if pic_num==1 imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2); elseif mod(pic_num,3)==1 imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2); end pic_num = pic_num + 1; drawnow limitrate end
三、沿着线条移动一组对象
Move Group of Objects Along Line- MATLAB & Simulink
x = linspace(-6,6,100); y = sin(x); plot(x,y) axis manual ax = gca; h = hgtransform('Parent',ax); hold on plot(x(1),y(1),'o','Parent',h); hold off t = text(x(1),y(1),num2str(y(1)),'Parent',h,... 'VerticalAlignment','top','FontSize',14); pic_num=1; for k = 2:length(x) m = makehgtform('translate',x(k)-x(1),y(k)-y(1),0); h.Matrix = m; t.String = num2str(y(k)); F=getframe(gcf); I=frame2im(F); [I,map]=rgb2ind(I,256); if pic_num==1 imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2); elseif mod(pic_num,3)==1 imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2); end pic_num = pic_num + 1; drawnow limitrate drawnow end
四、对图形对象进行动画处理
Animate Graphics Object- MATLAB & Simulink
theta = linspace(-pi,pi); xc = cos(theta); yc = -sin(theta); plot(xc,yc); axis equal xt = [-1 0 1 -1]; yt = [0 0 0 0]; hold on t = area(xt,yt); % initial flat triangle hold off pic_num=1; for j = 1:length(theta)-10 xt(2) = xc(j); % determine new vertex value yt(2) = yc(j); t.XData = xt; % update data properties t.YData = yt; F=getframe(gcf); I=frame2im(F); [I,map]=rgb2ind(I,256); if pic_num==1 imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2); elseif mod(pic_num,3)==1 imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2); end pic_num = pic_num + 1; drawnow limitrate % display updates end
四、绘制三维箭头
Create Stream Particle Animations- MATLAB & Simulink
vz = 10; % velocity constant a = -32; % acceleration constant t = 0:.1:1; z = vz*t + 1/2*a*t.^2; vx = 2; x = vx*t; vy = 3; y = vy*t; u = gradient(x); v = gradient(y); w = gradient(z); scale = 0; figure quiver3(x,y,z,u,v,w,scale) view([70,18])
五、创建流粒子动画
Create Stream Particle Animations- MATLAB & Simulink
clear all load wind [sx sy sz] = meshgrid(100,20:2:50,5); verts = stream3(x,y,z,u,v,w,sx,sy,sz); sl = streamline(verts); view(-10.5,18) daspect([2 2 0.125]) axis tight; set(gca,'BoxStyle','full','Box','on') iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.01); set(gca,'SortMethod','childorder'); streamparticles(iverts,15,... 'Animate',10,... 'ParticleAlignment','on',... 'MarkerEdgeColor','none',... 'MarkerFaceColor','red',... 'Marker','o');
六、为曲面添加动画效果
clear all theta = 0:pi/40:pi; % polar angle phi = 0:pi/20:2*pi; % azimuth angle [phi,theta] = meshgrid(phi,theta); % define the grid degree = 6; order = 1; amplitude = 0.5; radius = 5; Ymn = legendre(degree,cos(theta(:,1))); Ymn = Ymn(order+1,:)'; yy = Ymn; for kk = 2: size(theta,1) yy = [yy Ymn]; end yy = yy.*cos(order*phi); order = max(max(abs(yy))); rho = radius + amplitude*yy/order; r = rho.*sin(theta); % convert to Cartesian coordinates x = r.*cos(phi); y = r.*sin(phi); z = rho.*cos(theta); figure s = surf(x,y,z); light % add a light lighting gouraud % preferred lighting for a curved surface axis equal off % set axis equal and remove axis view(40,30) % set viewpoint camzoom(1.5) % zoom into scene scale = [linspace(0,1,20) linspace(1,-1,40)]; % surface scaling (0 to 1 to -1) pic_num=1 for ii = 1:length(scale) rho = radius + scale(ii)*amplitude*yy/order; r = rho.*sin(theta); x = r.*cos(phi); y = r.*sin(phi); z = rho.*cos(theta); s.XData = x; % replace surface x values s.YData = y; % replace surface y values s.ZData = z; % replace surface z values pause(0.05) % pause to control animation speed F=getframe(gcf); I=frame2im(F); [I,map]=rgb2ind(I,256); if pic_num==1 imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2); elseif mod(pic_num,3)==1 imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2); end pic_num = pic_num + 1; end
七、
-
matlab 动态绘图保持figure不变
2017-02-28 16:21:53在使用matlab的时候。 有时数据是一帧一帧数据读取出来的,所以希望能够通过figure来一帧一帧的显示这些数据: close all;clear all;clc fram = 100; x = sin(2*pi*100*(1/1000:1/1000:1024/1000)); y ...在使用matlab的时候。
有时数据是一帧一帧数据读取出来的,所以希望能够通过figure来一帧一帧的显示这些数据:
close all;clear all;clc
fram = 100;
x = sin(2*pi*100*(1/1000:1/1000:1024/1000));
y = cos(2*pi*100*(1/1000:1/1000:1024/1000));
h1 = figure;
h2 = figure;
set(0,'CurrentFigure',h1);
plot(x,'-r');
set(0,'CurrentFigure',h2);
plot(x);
-
Matlab绘图_matlab绘图代码_matlab_MATLAB绘图_
2021-10-03 00:26:26matlab绘图代码大全,绘图函数代码资料集合 -
第五章 MATLAB 基本绘图功能_matlab绘图plot怎么用
2020-03-01 23:20:17Chap.5 MATLAB 基本绘图功能 5.1 概述及图形窗口的控制 MATLAB不仅具有强大的数值计算功能在数据可视化方面也是独占鳌头 MATLAB通过图形编辑窗口和绘图函数可以方便地绘制二维三维甚至多维图形 把杂乱离散的数据以... -
绘图_matlab绘图_matlab绘图工具_MATLAB绘图_matlab绘图程序_asleepmyg_
2021-10-01 16:50:11使用matlab进行绘图,各种绘图程序的集合,可以使用。 -
C# 调用MATLAB程序绘图
2019-04-23 11:42:39C#调用MATLAB程序绘图,压缩文件包含.m文件,仅供参考 -
MATLAB高级绘图
2018-08-07 01:47:33该资源为MATLAB的高级绘图,数学建模竞赛高级绘图必备。 -
400多套matlab绘图配色方案-othercolor配色工具包
2021-02-09 10:30:52400多套matlab绘图配色方案-othercolor配色工具包 -
Matlab 绘制动态图
2021-05-20 10:25:07在写论文的过程中,我们经常需要用MATLAB绘制图形。论文中的图形都是图片格式,但是在展示和汇报时,如果将图形做成GIF动图,变量的变化过程就会非常直观,展示效果也会非常好。下面将本人利用MATLAB绘制GIF动图的... -
matlab三维动态绘图
2021-05-07 08:48:14matlab 动态绘图,MATLAB R2017a下载 64位免费版,matlab三维动态绘图,matlabtimer动态绘图matlab绘制动态三维心形代码(蛋疼的情人节奉献)_计算机软件及应用_IT/计算机_专业资料。Matlab 绘制三维动态心形 It’s OK to... -
【MATLAB高级绘图】MATLAB制作立体动态相册(附MATLAB代码).zip
2022-03-17 17:06:57【MATLAB高级绘图】MATLAB制作立体动态相册(附MATLAB代码).zip -
rectbox_rectbox_decidevm6_matlab矩形绘图_绘图_matlab_
2021-09-30 03:59:53matlab自带的annotation函数不能通过指定矩形的x、y坐标来绘图。自己写的这个rectbox函数补充这个功能:rectbox(x y w h)其中xy是左下角点的坐标,wh是宽高。 -
matlab绘图教程-matlab绘图.rar
2019-08-13 07:43:17matlab绘图教程-matlab绘图.rar matlab绘图.rar matlab绘图教程 -
MATLAB绘图_matlab绘图_
2021-09-30 11:37:26绘制基本图形 -
绘图(大):使 MATLAB 的线图绘制速度更快。-matlab开发
2021-05-30 06:11:37这适用于 MATLAB 的内置线图函数,允许保留这些函数的功能。 代替: 情节(t,x); 一个可以使用: reduce_plot(t, x); 大多数绘图选项,例如多个系列和线属性,也可以传入,这样 'reduce_plot' 在很大程度上... -
matlab鼠标运动轨迹绘图
2020-05-20 03:30:26一段检测鼠标轨迹的matlab代码,希望对你有帮助 -
Matlab 的动态曲线绘图
2017-10-09 21:28:53动态曲线的绘制 This example shows how to create an animation of two growing lines. Theanimatedlinefunction helps you to optimize line animations. It allows you to add new points t -
MATLAB绘图教程
2019-02-19 15:31:20详细的matlab绘图功能介绍,包括各种各样的绘图命令设置,可满足大部分matlab绘图需求。 -
利用MATLAB编程实现动态画图功能.doc
2020-08-05 08:16:05自动化专业综合设计报告 自动化专业综合设计报告 设计题目 利用MATLAB编程实现动态...进一步熟悉Matlab的界面及基本操作 了解并掌握Matlab中一些函数的作用与使用 学会如何利用Matlab实现绘图功能并可使坐标系动态设置 -
Excel-MATLAB-绘图.rar
2021-05-04 15:00:13本资源介绍如何将EXCEL中的记录导入MATLAB并使其可视化。 包含: 1.Excel中的数据在MATLAB界面下显示; 2.导入数据到MATLAB并使其可视化。 -
使用 Matlab 交互式滑动绘图:使用键盘箭头沿 x 轴交互式滑动 2D 或 3D 绘图。-matlab开发
2021-05-31 17:34:40当前代码是一个 Matlab 函数,它使用键盘箭头提供沿其 x 轴的绘图的交互式滑动。 该功能非常适合组织可视化和检查具有大量列(向量或矩阵)的数据,因此 2D 和 3D 绘图可以沿其 x 轴以给定的跨度和步长滑动。 用户... -
MATLAB绘图博客版.pptx
2020-09-07 21:35:12整理资料无意中翻到自己以前上课的时候做的关于MATLAB基础绘图的课堂汇报PPT,当时是先看了台湾大学郭彦甫老师的课程之后的做的课堂汇报。是很久以前的事情了,把PPT贴出来供自己以后需要的时候查阅或者有需要的人... -
Matlab 绘图超级经典.PDF
2020-02-19 16:38:52Matlab绘图 Matlab提供了大量的高层绘图函数,图形每一 部分的属性都是按缺省方式设置的,绘图即方便又 高效。 同时,Matlab还提供了底层绘图函数,通过对 图形对象属性的设置与操作,可以对图形的每一部 分进行控制... -
matlab 仿真并动态绘图 颗粒下落凝结过程,带注释
2021-07-24 11:34:44matlab 动态仿真并进行绘图 颗粒下落凝结过程,带注释 m代码 -
Matlab绘图很详细很全面-Matlab绘图.doc
2019-08-13 05:48:53Matlab绘图很详细很全面-Matlab绘图.doc 介绍matlab 绘图 -
【转】matlab 如何画动态图(绘图与旋转视图)
2019-05-08 14:40:07matlab 如何画动态图(绘图与旋转视图) 2015年02月04日 10:04:22 宋军帅 阅读数:23758 绘图 效果图: 在matlab中,作图是重要的一部分,那么对于三维的图像,如何将静态的改为动态的呢? 首先,静态图...