找回密码
 注册
关于网站域名变更的通知
查看: 489|回复: 1
打印 上一主题 下一主题

Matlab plot多条曲线,自动使用不同线型

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-5 11:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 uperrua 于 2020-8-5 13:21 编辑 ( l& s/ V2 i/ t) C1 _* H% p
2 U; e9 S' L1 p! e) v" H
先定义几个变量:$ k5 j5 h9 L+ z- c. K- {
x  = 0:pi/10:2*pi;5 v; `& B2 ~  y3 M- e
y1 = sin(x);
& U6 @9 D# `% ly2 = sin(x-pi/2);
) @- E% D9 w/ S( J* @0 Jy3 = sin(x-pi);+ L+ a* B9 S& S( m, B

6 I, J7 x7 d8 g! C' q
6 v9 j; O; M$ F3 Kmatlab作图的时候,如果直接使用plot(x,y1,x,y2,x,y3);那么matlab将自动使用不同的颜色来区别这三条曲线。' w0 s  D  I  \- f2 @; W7 \# x8 t
效果如下:
! G/ ^+ L6 k8 [* Z- I% T+ {1 Z" k$ W3 ^9 y# q1 u
8 d) T% o' t/ V; X0 Z/ ~
但是有的时候,为了保证黑白打印的时候也能区分不同曲线,就要用不同线型来区分。怎么样让matlab自动做这件事呢。) r2 d) h' C0 K# n. b

! E6 c: X  o3 M" {- o6 t

You can configure MATLAB defaults to use line styles instead of colors for multiline plots by setting a value for the axes LineStyleOrder property using a cell array of linespecs. For example, the command

set(0,'DefaultAxesLineStyleOrder',{'-o',':s','--+'})

defines three line styles and makes them the default for all plots.

To set the default line color to dark gray, use the statement

set(0,'DefaultAxesColorOrder',[0.4,0.4,0.4]);
! C/ j: a0 D% z5 j6 @也就是说在plot(x,y1,x,y2,x,y3);的前面加上这两句话,set(0,'DefaultAxesLineStyleOrder',{'-o',':s','--+'})set(0,'DefaultAxesColorOrder',[0.4,0.4,0.4]);这回效果如下: 2 i2 }# s5 R! d8 l
8 `" T2 W: ?/ O5 |4 e5 N
The default values persist until you quit MATLAB. To remove default values during your MATLAB session, use the reserved word remove.
$ W6 Y, h  B. k" I' p" Q" z3 ]  t# b
0 W0 p6 N- l6 `3 q/ I
set(0,'DefaultAxesLineStyleOrder','remove') set(0,'DefaultAxesColorOrder','remove')
% M* G( ]$ E& B5 r( |+ M3 B
& A- Q2 ~8 e. l% Z; Q

该用户从未签到

2#
发表于 2020-8-5 13:20 | 只看该作者
Matlab plot多条曲线,自动使用不同线型
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-27 08:37 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表