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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

2 k8 E% a+ O0 A) y! s' k5 _' y- C这是程序:
  • 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','正交异性钢桥面板','上游主缆','下游主缆')4 _8 }1 o8 i4 C9 D7 l3 h
& V8 ^% ^8 d( l- @' e# S5 A) |8 K) }7 s
: e# z( C5 {$ d5 J( |' m7 K( y1 j

2 g5 [, P0 [$ \8 x, y8 U+ K6 T; t1 ]1 \( y% R9 P
第一个for循环里的第二个PLOT运行的话是这张图& ^) j' B3 q- T! o# V

* Z0 M  W& x" Q* q  ^* L
, Y, ?/ @' b  s+ {: \1 Y
: ^( P  X8 d# P

. |" ]4 B, L$ T. w9 X" V( x) Q" a% ^
这一句要是加上点型u(j)  就会很密集  是这样的' C( y5 n) z& A9 B! ]
- r, C3 D8 \2 w$ I. j6 I& x

2 o3 X  y0 z5 k! G/ J$ `. _
' q! m1 X* o$ s% C& a
+ B, I) U0 \- n5 I' A
" Z/ O- G' w# O& X- R
这时图例上线型点形都显示出来了
5 ^% [, T4 @* \
8 |/ ?* b, d7 \7 s2 a! V
$ q" u7 \( k- f4 W- a# l3 j要是第二第3个plot都运行  就是这样的
, \# o- @  h  r4 L/ E7 C
* r: X( S7 [+ d
4 [  Y$ J" n, g. W; H
7 O3 p  r1 H; P& ^9 x, U

/ u/ |1 s& x- O) D. \
, _, {: a+ M) P: p
) B4 y' q! \) ^4 |5 w8 z: G5 |
; c, k  M+ i6 z1 ^) U) _9 U. d
这时的图例是跳着显示的,只显示线型或者点形,, @) N) v' L/ `/ I4 j
1 T( d% i- g) R' b8 Z4 H
第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,
; L! i- B' L& K1 n4 [# P1 m
' v8 r, \5 E6 N; g+ z' ^, p因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。
5 \7 i5 L6 o+ @' Z5 q
' L9 b; D# e# H8 c+ {8 G& Z所以请大家帮忙解决下哈!3 B# ~+ u6 A3 o1 u& ^0 b4 b! M
7 `8 l- Y0 |1 O4 R

+ H" O7 E$ U- R) c; s
& L6 d* Y/ U4 Q  q& T
3 R1 D# B" Y# A2 C0 x. [, J; o; j' O

; `- p: ?5 P3 I8 o+ k& j- X

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?- y. n* w% O: Z  n

( S# M8 x; ^8 U, ?9 j2 {4 R! Rh1 = plot(0:0.001:1,0:0.001:1,':r');+ |  v! z5 ]6 X
hold on;
1 \5 e- a* p; M6 F6 Gh2 = plot(0:0.1:1,0:0.1:1,':r*');
$ P' t7 ?5 i( \) f; z! u8 {legend(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
& N- U6 h3 L0 N( v/ `" N看下面这个行吗?
: u- [+ {! |3 g( X: `
3 U3 k$ E+ Y) p/ U* U2 e- Mh1 = plot(0:0.001:1,0:0.001:1,':r');
4 }% j0 d0 Z4 }9 o
谢谢啦  4 Q, |' |2 H) a4 Q' L. Q4 Q! l
根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • 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','正交异性钢桥面板','上游主缆','下游主缆')

  • 9 M3 p3 ?9 f% B2 m: Y$ T9 G
6 k; @+ r, O) k( L
2 @4 X/ Y, D/ P4 j  |) Q! P6 H
2 ?+ X+ U! n# }- |+ H
这样就能都显示了
9 s) r' b* t5 A+ e1 ~万分感谢; U/ j, r5 C, Y2 j- U
. d2 Q  E4 p: \  E

该用户从未签到

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-7-22 19:10 , Processed in 0.125000 second(s), 31 queries , Gzip On.

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

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

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