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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

/ ]' R& Z, 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','正交异性钢桥面板','上游主缆','下游主缆')- Q4 h" D6 B1 Z" N
/ p" N0 z. e# S1 z$ ]

# x' n& p) w; e: ?$ H8 c' s- V* r, G

# R4 e- ^7 Y4 L第一个for循环里的第二个PLOT运行的话是这张图/ G% Q9 |! z$ q+ B2 |, N
' k6 D% B8 m$ h+ J* q8 t7 O5 _
7 M, \: i# r! b" m' B+ @- S
8 w% [- A- Y" I6 w3 _

2 p/ X: ?& R) s3 y
  R% h  X- L* `3 y这一句要是加上点型u(j)  就会很密集  是这样的
! ~8 s0 g6 ~% n2 h* ~

4 S9 |, y  c: s) ?: L! ^
1 W+ U1 n( }7 |! d6 ]3 \
! h0 S' ~" |6 P& \. l

% V% [5 d' w8 p' K: m4 K# Z7 s; D# s; L# `) K: W
这时图例上线型点形都显示出来了- k/ D; z: ?* d0 i1 F+ b

$ R, X; @3 c4 w/ E) F! H6 R0 t+ S7 D
要是第二第3个plot都运行  就是这样的9 a. Y2 ?4 N# n4 \

, y! u$ d* e/ k( Q
. B; [4 x+ d; r3 g$ G% L
4 Y+ q9 I: N$ I- b% @3 n" Z- G- X+ u9 [

  j3 [5 \+ Q( H9 v# X5 x
1 G- ]8 P" W' K  e0 O4 d: F, Z+ D$ b

9 \' B+ |$ F& w3 n# S0 y' u- l! {# M2 F$ n0 Y
这时的图例是跳着显示的,只显示线型或者点形,( e$ f8 H& O; V/ g0 }# C
6 k8 _8 C! Y' l# u
第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,; C& d* x8 ]# \1 x: L2 j0 Q
$ p- Y2 ?! m( s9 b! |
因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。; I  L; L5 h3 \& j' W' T: Z0 I
! Q/ \, c( Y  N. \; o; p1 M. g
所以请大家帮忙解决下哈!2 A' R. S% `) w# f
+ w, Q3 \4 b) T* R1 C6 M

2 I# R& y* e# `3 o/ G5 q( c8 }2 w, x8 h" V. z
8 p. `, ^" H" D0 n4 Q4 W! p

. k8 c- }8 k1 p. F& P1 T' F( d
: z9 X* Z3 x, A9 e! M

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?
1 g" D$ {9 T* C$ a% z, d7 N
) w- B* C. |* w3 k# Bh1 = plot(0:0.001:1,0:0.001:1,':r');
$ R) H# \. }: q4 ^. t, `) [$ N, fhold on;  q' P! ?0 l% Z9 H1 l% i+ ~
h2 = plot(0:0.1:1,0:0.1:1,':r*');
! ?) b8 g# @/ I  U0 A' ]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
1 n8 {0 C5 U( X, j6 e! W& h! K看下面这个行吗?
$ x; [3 Q# }7 K* h) n8 ?/ P9 t6 h' }6 ^* a1 V
h1 = plot(0:0.001:1,0:0.001:1,':r');

6 R4 G) |& ~* g4 g谢谢啦  ' z( ?' Z/ C' B% ~+ T4 I
根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • 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, |1 \: E% u
- b, Y% T. u# o- N% j' D
9 V( v* e+ }* p/ E! z' i& k
+ {% V: h: F, K
这样就能都显示了 + Z: |( t5 }3 q. T  o% a1 H
万分感谢
7 m/ m3 x( P6 q2 m8 Y; k7 @# n/ j/ l  Q6 m7 t+ ]( O: V2 g9 S- B' _! X

该用户从未签到

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 09:44 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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