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

PLOT函数绘图时添加图例的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

( Z; ?8 b( N! H$ Q1 }+ W7 ?这是程序:
  • clc,clear all
  • WD=load('wd.txt');
  • wdsj=load('wdsj.txt');
  • time=wdsj(:,1);
  • temp = WD(:,[5 10 16 24 30 33 39]);    % 简化为1条的赋值
  • s=['rgbrkmc']; %颜色属性
  • u=['d*oxv+p']; % 点标记属性
  • v={'-',':','-.','--','-',':','-.'};%线型
  • for j=1:7
  • %plot(time(1:2),temp(1:2,j),[s(j),u(j),v{j}])
  • plot(time(1:1:end),temp(1:1:end,j),[s(j),v{j}])
  • plot(time(1:200:end),temp(1:200:end,j),[s(j),u(j)]) % 间隔5个点画图
  • grid on
  • hold on
  • end
  • xlabel('时间')
  • ylabel('温度')
  • title('温度-时间曲线')
  • legend('西塔外侧塔壁','西塔内侧塔壁','纵向弦杆1',....
  • '纵向弦杆2','正交异性钢桥面板','上游主缆','下游主缆')$ u: W4 [2 S: B6 D( ]9 f- B

& M  C9 {* e, p8 h! {$ a- c- G- }/ d4 |/ s* T; i- g  F8 @, i' a

* v) O7 g3 O  k; V1 g; Y$ ?! q" P. Y
第一个for循环里的第二个PLOT运行的话是这张图
9 l4 A9 Z5 v" F
1 \+ J+ m7 J2 L% x1 `  ]
/ u& N* c* M1 ]' w  d

8 @5 Q4 E! U0 _( Y0 z1 }. M( D
! E8 ^" l6 `: @* e3 x, ~/ \. R+ B9 k
- k, n6 i8 K8 U/ g6 v这一句要是加上点型u(j)  就会很密集  是这样的' q8 M. C, R9 L- @

* A, T1 V- {! f) ?! U0 ?0 g' Q" a6 f  |3 i. x
0 _4 \& m4 q& y

) |! G5 H( ~1 o+ U& o5 i
% c( w$ S/ Z$ v  j9 m这时图例上线型点形都显示出来了
1 }9 @5 X/ P- ~& _5 @% F- b# ?

9 _7 A. O! Y0 P- U9 v0 a! R. A! P5 I要是第二第3个plot都运行  就是这样的
& [0 b. k+ [- p
, A9 I3 m) K. o9 \7 O

) U6 O# Y8 u; Z, X9 Z) \# {! R2 `- s6 }8 A- t& M5 J. c9 u* Q
8 W2 @$ a5 B( a$ K) p

1 J% c; e$ ]0 R5 L7 @8 }9 y6 L
' C: [! X. P( i
4 q8 {6 U3 G( K% H5 k2 i这时的图例是跳着显示的,只显示线型或者点形,
7 A& M3 V) @9 p
/ r- a. o) F6 i4 I0 p* g8 X$ \  L第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,
5 v0 J5 P3 h2 e1 U7 X6 o
1 c4 d3 v( V9 _2 Q, @5 b/ g! q2 E因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。
5 H3 C( @7 t; g# r* ^5 [! b9 b5 \* o
所以请大家帮忙解决下哈!# X  I( b9 g6 u. \( L9 b( v

, W" \( E0 h  \3 M2 `, C
/ U1 B7 g: n' ~  K7 d" |: [# r, F  `, S. J; Q3 x
; a+ h) _7 \, j6 K* W( j' U: P, ]  [

7 `3 ?; K. q5 v, v1 k/ g* D& X! k4 ~9 b( V

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?! z5 O: }5 L3 w

0 c+ o2 H8 y7 Y1 {5 v$ z" Z( Wh1 = plot(0:0.001:1,0:0.001:1,':r');
1 n! H! Z7 |1 U& N2 Whold on;
6 l! `# q  N- h* G1 Gh2 = plot(0:0.1:1,0:0.1:1,':r*');
( m' ]# Z: y, Z! Slegend(h2,'a')

点评

谢谢啦 根据你的语句 我又尝试了下 已经可以了,这是修改后的那部分 [*]for j=1:7 [*]h (j) = plot(time(1:2),temp(1:2,j),[s(j),u(j),v{j}]);%用于添加图例 [*]hold on [*]plot(time(1:1:end),temp(1:1:end  详情 回复 发表于 2020-5-12 16:03

该用户从未签到

3#
 楼主| 发表于 2020-5-12 16:03 | 只看该作者
xiaogegepcb 发表于 2020-5-12 15:02
! J: R# j% J( y3 R% y看下面这个行吗?3 p& l) ^6 a" j. M- U- J

6 L6 F/ c7 W# |  ih1 = plot(0:0.001:1,0:0.001:1,':r');
* V+ n( Z) H- l6 [% Z% b* S3 y/ D
谢谢啦  9 J( p9 b' b/ K0 d5 O) V# `
根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • for j=1:7
  • h (j) = plot(time(1:2),temp(1:2,j),[s(j),u(j),v{j}]);%用于添加图例
  • hold on
  • plot(time(1:1:end),temp(1:1:end,j),[s(j),':']);%全部数据点绘图
  • hold on
  • plot(time(1:200:end),temp(1:200:end,j),[s(j),u(j)]); % 间隔5个点画图
  • hold on
  • grid on
  • end
  • legend(h,'西塔外侧塔壁','西塔内侧塔壁','纵向弦杆1',....
  • '纵向弦杆2','正交异性钢桥面板','上游主缆','下游主缆')

  • " O5 |! _0 |/ l' v: N
9 N/ a) j, P7 ~" p

( L4 ~7 L" i4 h) ?! q+ Q
) \. h, s% C4 f
这样就能都显示了 # d; ~$ T; ?7 W% i
万分感谢1 Q1 l' H% G( L2 s9 k$ o- c1 k
2 i+ O* P% H* Y6 {, z1 }% K  S

该用户从未签到

4#
发表于 2020-5-12 16:04 | 只看该作者
02. h (j) = plot(time(1:2),temp(1:2,j),[s(j),u(j),v{j}]);%用于添加图例  这句能详细解释一下吗学习中 谢谢

该用户从未签到

5#
发表于 2020-5-12 16:05 | 只看该作者
好厉害的MATLAB

该用户从未签到

6#
发表于 2020-5-12 16:18 | 只看该作者
楼主牛逼啊,坚持才是硬道理

该用户从未签到

7#
发表于 2020-5-12 16:34 | 只看该作者
之前matlab仿真也遇到过这个问题,没解决就放弃了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-4 16:45 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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