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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
* C, t" p; ?4 K5 F; W0 d
这是程序:
  • 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 L; l3 ~1 j9 K2 @
* s. j8 K2 ~% a  P% t6 S0 ~

- k+ y0 Y0 w- C) s* Y
2 Q0 w7 W. B3 o7 r/ u
: [' O# H7 Z5 L5 y& x3 w第一个for循环里的第二个PLOT运行的话是这张图. Y0 \! ]1 c7 f' |

" D; V5 {( H3 J$ i% [0 M' P$ H6 c% ^; |/ e
" c4 }9 K5 d6 w0 C/ l$ P8 L) w

& {+ ~, @% `) y& j& O9 Z8 }2 W- M
9 B: |' {0 [# c这一句要是加上点型u(j)  就会很密集  是这样的) V5 A0 h, G, h; R

1 V, G9 g) E4 _, b4 e) U. S: L( x% y# U" s
/ v( U: C9 j+ P3 K* _

$ X" o' M' \6 i. H! E. f6 J- a, D% \3 W/ O
这时图例上线型点形都显示出来了% L7 J8 Q) y  J+ O0 Q" Y

4 Z) I7 G* t" k0 D+ K5 T* {$ c/ @" z& Z) x6 b' Z2 p+ H
要是第二第3个plot都运行  就是这样的. H4 m$ j! ]. }3 W5 ~
. {; E5 l" |3 K, A, t9 G

: N: v5 J4 h; A8 v
0 z7 }5 P  B: C5 r( {5 b; K7 F* k
! U2 L1 w& q2 [
  g% \, L4 ?$ m
7 ^5 {5 o- {6 V) W& }
这时的图例是跳着显示的,只显示线型或者点形,
( W  S1 m9 |. L: I. v0 N6 y+ p% q& W
第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,
6 P# a9 F$ Q$ n3 I4 n/ Q% c- W( k
$ F3 o! X) J! K$ h! @- W因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。
& z7 @3 n6 |$ k- y* S
( k: ?- s1 _$ {  S所以请大家帮忙解决下哈!
; f- ?0 T6 C/ u$ j4 E6 w, X  i: y6 _: ?3 q. j

) Z# |! f  }) v6 O! |
( m7 M+ P% M) ]3 h8 M# |- z( g: C: R$ {: i7 q
+ |! C) L/ p# z8 @

- ?# v$ e9 q0 W# K0 A/ J/ q

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?
% U& {5 P% V$ d6 E' h) R& i: P8 l
h1 = plot(0:0.001:1,0:0.001:1,':r');" b) G0 G" x1 P% ^
hold on;
: c# F6 e3 a1 E0 o" E$ _. mh2 = plot(0:0.1:1,0:0.1:1,':r*');- T  x8 }! H2 t9 `  Q2 a1 ^& C
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
$ N5 U  \2 b+ H5 q  P8 b看下面这个行吗?4 S* X& p% m# F: R  X

$ @; g8 U, f( b+ b# ~0 Yh1 = plot(0:0.001:1,0:0.001:1,':r');

4 L. \- J* w' m" K谢谢啦  ; q5 z' D7 e! L! G( G/ Y
根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • 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','正交异性钢桥面板','上游主缆','下游主缆')
  • 4 o* V& _) [/ p, G- t0 N! q

$ g" t6 Q8 U; u& J
1 N! E; O8 o8 \% d7 S
0 k% g, g9 k1 `7 l
这样就能都显示了
' [" K! _. r5 D" O: j万分感谢
9 [& g  x6 M6 U( B/ Y+ @! g
) l! f% E# {( T% O5 c* N- s: |& z

该用户从未签到

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-8-23 20:35 , Processed in 0.156250 second(s), 31 queries , Gzip On.

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

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

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