大量数据处理如何有效的应用Matlab作图

画图函数句柄的使用

  • 每个画图函数含有的输入参数是很多的,然而我们在看函数的帮助help的时候,所能得到的只是一些基本的信息。我们利用:’dd = function_name(x,y,z,…);dt = get(dd)’ dt就含有了这个函数的全部使用信息。

从句柄中获取、修改信息

  • 有时为了需要,我们需要对所得的图像进行编辑,如加入题注、字体修改、改动线型以及坐标轴范围的改动等。另外从图像上也可以获得一些信息,如数据等。使用句柄可以完成上面的要求。然而句柄的缺点就是处理少数的图形时,它花费的时间要长一些。在处理大量的图形的时候,就可以显示出它的方便了。
  • 一些常用的句柄
    • gcf —— 当前图形(figure)的句柄
    • gca —— 当前坐标轴(axes)的句柄
    • gco —— 当前对象(object)的句柄

双Y轴曲线的绘制

x = 0:.1:2*pi;
[H,Ha,Hb] = plotyy(x,sin(x),x,exp(x));
legend([Ha,Hb],'sin(x)','exp(x)',0);//图例
set(Ha,'linestyle',':');
d1 = get(H(1),'ylabe');
set(d1,'string','sin(x)');
d2 = get(H(2),'ylabel');
set(d2,'string','exp(x)')
xlabel('x zhou')

绘制图上图

有时为了需要,需要在图上画图,可能是为了局部放大,或其他目的,看如下这段程序:

figure;
t = 0:.1:2*pi;
y = sin(x) + exp(t);
plot(t,y,'--');
title('绘制底图');
axes('position',[0.25,0.45,0.4,0.3]);
plot(t,sin(t),'r',t,cos(t),'g-.');
title('绘制图上图','fontName','楷体_GB2312',...'fontsize',20,'color','Magenta');
xlim([0 2*pi]);

这里写图片描述

多子图的绘制

  • 有时为了比较,需要将几幅图形以阵列的形式画出来,这时就要用到subplot函数。这时一个2x2图形阵列的分布绘制的小程序:
t = linspace(0,2*pi,200);
figure;
subplot(221);plot(t,sin(t));
subplot(222);plot(t,cos(t));
subplot(223);plot(t,tan(t));
subplot(224);plot(t,cot(t));
  • 当有时候是一行两幅图,而第二行是一幅图的时候就要变通使用subplot了,如
x = linspace(0,2*pi,200);
figure;
subplot(221);plot(x,sin(x));
subplot(222);plot(x,cos(x));
subplot(211);plot(x,tan(x));
  • 图片自动保存 ‘h = figure; saveas(h,’figure_name’,’eps’);’

坐标轴方向的修改

%如何把原点移动到左上角、无背景色
close all
t = 0:.1:1.2;
figure;
hg = plot(t,t.^2,'r');
set(hg,'Marker','h');
set(gca,'YDir','reverse');
set(gca,'XAxisLocation','top');
set(gca,'box','off');
set(gca,'color','none');
po = [0.13,0.06,0.775,0.815];
set(gca,'position',po);
tz=text(0.8,0.3,'y=x^2');
set(tz,'fontsize',18);
xlabel('x','fontsize',18);
ylabel('y','fontsize',18);

坐标值的修改

有时为了需要,对画出的曲线需要修改坐标轴的坐标,下面列举一下几种情况:

  • 除去刻度 ‘A = cell(1,6);set(gca,’YTickLabel’,A);set(gca,’XTickLabe’,A);

放大所画的图形

  • Matlab 所画的图形是其默认大小的,我们也可以对图形的大小进行重新设定:
set(gcf,'position',[x0 y0 xL yL]);
set(gcf,'outerposition',get(0,'screensize'));%最大化
  • 改变图形的长宽比例

‘set(gca,’position’,[x0,y0,xL,yL]);

  • 坐标轴标注的角度调整
    ‘a = xlabel(‘bbs.hit.edu.cn’);set(a,’Rotation’,35);

曲线拟合

相关函数:
- polyfit; %多项式拟合
- lsline; %最小二乘拟合曲线
- fit

Matlab的动画功能

fig = figure;
mov = avifile('exampleb.avi');
x = linspace(0,10,256);len = length(x);
y = 5*sin(x) + 3*randn(1,len);
h = line('color','y','LineWidth',2,'erasemode','xor');
for i = 1:200
    axis([0,10,-15,15]);
    set(h,'xdata',x,'ydata',y);
    set(gca,'Color','b');drawnow;
    grid on;
    pause(0.01);
    y = [y 5*sin(10+i*x(2)) + 3*randn(1)];
    y = y(2:len+1);
    title('模拟心电图');
    F = getframe(gcf);
    mov = addframe(mov,F);
end
mov = close(mov);

Matlab IDE 切换窗口快捷键

  • 在Editor中各个窗口之间的切换:Ctrl+pageup
  • 在IDE中各个窗口之间的切换:ctrl+Tab 实现IDE中的各个窗口轮流切换;Ctrl+0(1,2,3)切换到特定窗口;ctrl+shift+0 切换到editor窗口
  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值