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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

/ D* |% w1 x9 N+ i% l& H: _0 o这是程序:
  • 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','正交异性钢桥面板','上游主缆','下游主缆')
    0 \$ g  g& t- m! ^+ ]0 l' Y; C
7 S& k. B6 |) a1 f
) O# V5 k0 O2 |, m2 F

" @0 P6 `1 }* r1 d
4 F* c) d1 h  D4 l) W第一个for循环里的第二个PLOT运行的话是这张图3 J3 M5 N# w9 W

+ C  P) C" A8 t5 {. Y& L. j. Y4 g  a9 @6 e" i
3 f! p& U  s) {2 ]* G" ?. D
2 Z3 p( r5 q. M1 }
( W3 {* _7 v0 p6 ^
这一句要是加上点型u(j)  就会很密集  是这样的9 G& R" R0 q* u. ~3 o1 i& }

; y. F& S: A% L& B; g' I
" y0 R' y0 ^' t1 j. o6 Y2 @; J( v( \9 B# }3 b/ z

. F8 z5 N: q+ S: \: {! g" `1 m& J  J1 S( _( w1 R9 E+ `
这时图例上线型点形都显示出来了+ t4 c# e$ s2 A, w- k
; a6 U( l( [- h- m8 l. n

) l5 q% f3 J9 f& V要是第二第3个plot都运行  就是这样的
& Q) ^+ _, j& |- I" b9 _) ~& [% G1 H3 R5 w9 h& ~
* t: V4 V0 G9 u6 D) B" R

& G' C6 S4 [+ `. f. U% ^5 ~0 A% [/ h) [7 z

( u% [4 {6 |4 L2 u& ^" u+ l7 h& i7 U; c
3 ?% h' v& ^$ |+ f9 k
- a7 D7 u1 o6 L) {) D这时的图例是跳着显示的,只显示线型或者点形,6 ~9 G) V0 H9 {- d! T

7 J: R! s9 u/ {3 o第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,
, c6 Y1 ]8 I0 Z- \' g" C; ~6 s2 k( s6 {3 k7 ~
因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。; _& \5 g. s8 ?2 `
5 q" [4 [; a/ L" j" u6 J( ]; x
所以请大家帮忙解决下哈!
5 k1 N( k% n1 D: R5 P. v& D( S1 ?; S" h& |
( d" e4 l) j  p. Z: c) Z

4 ?4 ~8 m: ]3 |6 F6 ?* S% |7 P1 V- v! s; Q& z9 E* ]( C8 D
# K3 C# R' a" I0 p. q: \
4 R  k5 u& k8 V# F; u$ ?2 B

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?9 `% E9 K! ?* e* d
8 {) T9 `8 S3 t) y: {
h1 = plot(0:0.001:1,0:0.001:1,':r');3 w9 D$ e  s  V
hold on;1 U2 C6 b  i6 ?* h, n: R  R2 w
h2 = plot(0:0.1:1,0:0.1:1,':r*');, c3 Z. ?5 ]6 s" _9 W6 z$ ~
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
/ \2 G5 k/ z' A  G; G+ K) g看下面这个行吗?% y( z- G. x4 J/ P
5 N# m6 a+ V1 Y  i( C1 |% y: _) G
h1 = plot(0:0.001:1,0:0.001:1,':r');
& j! l  s7 G) y' p* M/ ~% Q( P
谢谢啦  
( i3 g& i; {9 ^2 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','正交异性钢桥面板','上游主缆','下游主缆')

  • " b7 `* v7 Z8 B. ?
3 {9 {  T% Y& p$ e5 N8 t& Y9 B7 E

% v+ p9 R6 X7 A) Y" a. G$ v$ J1 p

. V& E3 w" y) r+ c  _这样就能都显示了 8 e8 \# r6 N* V& R+ U) R  y7 Z
万分感谢
) U8 @0 y' K) o7 p6 s4 u
( m7 ~$ ^( ?$ G* |' C3 k- M( k

该用户从未签到

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-6-25 14:43 , Processed in 0.093750 second(s), 30 queries , Gzip On.

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

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

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