【Matlab】如何用plotyy对应坐标绘制多条曲线

[复制链接]
例子:设x=1:0.01:100;1 c& F. T) H+ ]' Y
    y1=0.2*sin(x);; Y9 m7 V  F0 s2 Q
    y2=0.3*sin(x);
0 }/ l& y0 W+ u! _    y3=0.4*sin(x);
2 N' d+ b( O  N  r0 l    y4=0.5*sin(x);  ~( ]5 Z- n4 ^4 j: X/ J9 V$ a6 t) d
    y5=0.6*sin(x);
7 ^' ?) a- _7 ^7 R* s8 {/ {! z    : o' a3 ?$ M$ q: b5 o' j/ K

; Y- H: `) |5 u& ]/ R' ]% r! \    以左边坐标轴为参考画一条曲线,以右边坐标轴画四条曲线:8 r0 P& }4 J! \& b9 O3 m
    figure;7 I# D% {; I; t4 M. C4 N& F) P2 o
    [AX,h1,h2]=plotyy(x,y1,x,[y2;y3;y4;y5]);    %用分号还是逗号视y矩阵而定,保持[y2;y3]长度和x一致5 m$ e2 q, r, o; f
    set(AX(1),'ycolor','k')    %设置左边坐标轴为黑色# e8 ?) X. \( p' `
    set(AX(2),'ycolor','r')    %设置右边坐标轴为红色
; L$ s) C0 e- C$ {6 c9 O6 {# ?2 b% s+ |6 i, R, q
    set(h1,'linestyle','-','color','k')   %设置曲线y1为黑色
& T. r+ f' z. ?# f    set(h2(1),'linestyle','-','color','r')   %设置曲线y2为红色" `: k, K6 I7 V

" d0 d0 U7 l* v1 e* D    set(h2(2),'linestyle','-','color','g')   %设置曲线y3为红色
5 h5 R/ Z0 V& X& g8 K  r  n7 l' P2 }. m: W
    ......" P/ y# C# L+ s" V
    以左边坐标轴为参考画两条曲线,以右边坐标轴画三条曲线:
+ Q, y2 E; D' ?; B. F. z" b7 o    figure;  u" r5 _: v; P0 C% e# e- o
    plot(x,y1,'k-')
3 M6 D2 d5 [/ }, j) q    [AX,h1,h2]=plotyy(x,y2,x,[y3;y4;y5]);7 Z* l/ g6 B4 g3 g1 X
    ......相关设置同上。6 @3 {) o  v/ b3 E( ~) l/ B
    * a6 Y& o' P) M( |  @" b  u
1 R  ]; i  c0 U3 P' t( J
                    9 I( T5 _4 s9 e) j0 {# U
8 N" D8 X) X! @, Q; e* u% `  b
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表