EDA365电子论坛网

标题: Matlab大图叠加小图实例 [打印本页]

作者: pulbieup    时间: 2019-8-1 09:00
标题: Matlab大图叠加小图实例
    在作图的时候,发现两条曲线很接近,难以看出差别,那么可以代用局部放大的方法,将有差别的地方局部放大。实现方法很简单,先画出全部范围的图,然后选择要放大的区间,控制图形的大小输出位置即可。一般情况下,两次使用plot,第二次的图将会覆盖第一次的图,因为默认只有一个figure,如果第二次plot的figure设定较小又如何呢?见下图效果。! N0 |# J1 x3 M, A
    核心代码:9 q- m. \7 J* w% h- {3 D3 f
% k. O% P% `8 h" N1 v, B$ ]
, ^3 L- d  G8 N  D, P7 o1 {* y- F: J
plot(Time,Echo1,Time,Echo2)   % 第一个figure9 Q3 F4 M* d: X; B. `: A
axes('position',[0.2 0.65 0.3 0.2]);  % 控制小图大小和位置6 k' B- V/ a; }( f# |5 {
x=Time(1:15);   % 选前15个点绘图' l: D+ z- A- ^# X0 m8 s
y1=Echo1(1:15);7 C" ^0 b, Q; `6 x, Z+ y
y2=Echo2(1:15);
8 D. Q( o5 h" mplot(x,y1,x,y2)
) t! h. M1 r( D3 @$ b' A. f
" b' h$ k1 G  y  u

% [- j( d4 b4 o4 R( f, u
7 Y; U: T4 m0 ]2 b0 I# W% I' c, a8 [- f8 ^% D8 I
    还有一个应用是在图片上插入自己绘制的图件,比如导入一张图片,然后在图片上添加曲线,如下图:2 M5 j4 S; U) ]/ Z9 r  L
0 n* t! B4 i( t9 [2 l1 z4 F1 e

0 O$ M' D/ L$ Q- Q! V4 Bclear;clc;' j' S" c/ P( d4 @
data=imread('WorldMap.jpg');/ l6 c) j. a$ \# l- z9 [( f
imshow(data);  % 绘图+ E6 X. T' ]3 o" H3 M* f6 F9 ^
hold on;
1 C8 M  ~0 M3 |; o; Q( Gh=axes('position',[0.2 0.65 0.3 0.2]);  % 控制小图大小和位置& X2 k" \: c! \7 D  [+ v
x=0:0.1:pi;: ]; X% h' i9 ?( E' d: b
y=sin(x);/ g4 T5 J9 @3 `! G6 H( }" a+ g
plot(x,y,'LineWidth',2)
  Y5 d! r- U  x2 Tset(h,'color','none')
% {1 `0 a7 ?! Rhold off% N/ W, U/ v7 o1 l. V

8 A0 E0 U  t* j

# Q( Z0 \6 ]# ]4 S ' N/ J3 I- a( k* D$ H. q8 Q1 ]
: p) R) A) L; e( G# w
. \( z- o: \5 L3 C9 _& y3 r

作者: relchhiclty    时间: 2019-8-1 18:51
学习了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2