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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
( g7 ~! ]( v0 s9 z
这是程序:
  • 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','正交异性钢桥面板','上游主缆','下游主缆')3 i. g6 C; B) r0 M. \

+ d) h. b( p8 l. N& q5 @; X& H( ]' Y$ s$ k) s
8 W: A6 r* |: P2 r9 P& [

6 H- n$ I) K8 ~第一个for循环里的第二个PLOT运行的话是这张图6 \: F% L$ i: ?: K9 R9 f

- v8 S0 m( {  N; E0 l( q% l: ]/ F. G( X

% Q/ `, T7 V$ ~8 s
% |3 N* T: k7 ]4 Y3 M7 S1 f5 m3 \# P, }$ o
这一句要是加上点型u(j)  就会很密集  是这样的
3 Y, M; T4 P( X

5 ]  F5 U9 b2 j  ]: G1 k% z( l
6 U0 }5 n9 N% m
0 v% ~; F& ~# Z5 }& O  G8 Y0 G
# ~  e3 J1 D0 ?: D$ C
% r1 }# f+ z! v6 r. E' |* D+ H3 l
这时图例上线型点形都显示出来了
, O! i8 E" y5 y- ^- N/ _
; x5 }, K& K; W. R% }! H9 j! a1 J0 v# H4 [$ H' I
要是第二第3个plot都运行  就是这样的3 B; R' W) Z' W' m' v( h
) V  K5 C  |# ~. d, O+ O" N5 ?

% i/ y9 L+ Z6 E8 s" C5 w
  y! j' b+ k9 ]
# ^8 I% u4 ?# x9 _+ _
' ^, s  N% b& m& g( p" c& W
( \3 k) ?+ u' c6 @

3 ?9 _( _5 p# r; Q! {& W( `5 J这时的图例是跳着显示的,只显示线型或者点形,6 s5 R. u4 S$ C  Z1 j2 J' c3 G5 P) x
$ N5 }/ D2 G" o6 r: g
第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,; L/ t( C& n# h6 L; d4 N9 E

9 O( t% c- V, U) |+ W% ~9 R6 X因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。
$ j! H' Q& b" z" y0 I2 a' V
# z" S4 J/ L' _- Z, x( o所以请大家帮忙解决下哈!
) U# Y$ J) \; e6 s/ j1 f
8 P, N  |8 ^8 z) G6 A3 m( @
+ |9 K/ j( M. j. V2 f$ h: Y. R, ]* E: H: ]

; r2 J; ^! m0 Q1 u( r" ]* Z" O5 z. K8 g5 b

* r& W& i' ~2 |5 U

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?' g1 S6 N% \4 i" j% J1 G0 o
6 O/ r$ w: R( a9 K' \
h1 = plot(0:0.001:1,0:0.001:1,':r');
$ q( g  e( [# b( @hold on;
' R% d0 q* B! G3 d5 j: Jh2 = plot(0:0.1:1,0:0.1:1,':r*');1 X. L  h3 D1 Y  t
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
0 t7 m4 Y' y$ Q看下面这个行吗?9 T5 _* E7 D& d* o) ~
. d- q# X8 M! a5 w) P
h1 = plot(0:0.001:1,0:0.001:1,':r');

! j" S8 f1 S2 G5 B谢谢啦  
  b# R: L) e4 F3 \根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • 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','正交异性钢桥面板','上游主缆','下游主缆')
  • * [. @. ~. \; K& k4 Z+ u1 ?; ?

- w" D9 P1 o; z6 ^- }/ R
5 M. U; ~4 z# R9 r9 ^
1 p. b7 ~! C5 w4 \$ _0 @
这样就能都显示了
* O% F/ H4 ^6 {, p! Z# n万分感谢" r/ Z! r7 F7 q/ }( R( R$ X

1 f+ O, a  J% c9 u9 b7 X) E. H0 N

该用户从未签到

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-24 11:20 , Processed in 0.171875 second(s), 28 queries , Gzip On.

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

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

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