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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/ n' \* J0 U0 e0 ~" Z$ G% H# y/ \( r
这是程序:
  • 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','正交异性钢桥面板','上游主缆','下游主缆')
    5 c! ~2 g9 l( Y' u* T4 C0 [
, J9 |. R3 k% U0 @* q' a; b
% T+ M, M# ]$ H$ {+ D

) x2 X2 U, y3 v, ^$ l
  ?4 @1 v7 f6 d3 R# \7 a1 _第一个for循环里的第二个PLOT运行的话是这张图' w) o+ z. d" F1 c$ ^1 c$ E
1 F: q; a1 r/ ~: y; Y! `% m* r. I

& _: t; r1 X; G2 w# Y) Z5 H: l2 O
- L9 \" j$ @( w9 J, }' q4 S
. x' `" D0 o9 o9 A
: q- w' z5 J% u+ ~" o
这一句要是加上点型u(j)  就会很密集  是这样的
) P2 H( D) |8 B
3 ?% c6 r  {: T, J& q
" M/ [2 v/ E& ]8 T

: K; y" [5 M) S
) D5 _) y1 Z* E% ]+ e# K- N& T

8 K3 p- Z' f! f6 a2 H( n这时图例上线型点形都显示出来了; J+ n" K' A0 B  G9 l4 t9 c, F  W; r5 V
9 X$ s2 |5 P: N5 Q7 U! C, N6 \
2 c- Q( W  ?/ |
要是第二第3个plot都运行  就是这样的1 h8 Z, G" t3 D8 G+ f- o9 M4 ]
, u- M1 f' f5 Q6 Y# P

' L* w9 T% ~# K, V5 s0 J& d* T: D& |. l5 a; b

4 R& I- e. b) a2 o; v6 e
! e& o" H* y' c1 b
! i, e- K) N0 _3 b1 j
+ t; ~& o& _7 L% L$ H
这时的图例是跳着显示的,只显示线型或者点形,
; [% @9 D3 \, F' @: ^/ V5 n* D& Y) ~" @  E$ B8 _
第一句PLOT是网上说取头两个点让图例读取这个图  但是加上也不行,
& Z  r5 S7 n* f6 t2 L; L
  k* X$ }: k% w" X% X因为我的点太多了,所以要是点间距取的小就很密集,但是取的大图就太不精确了,所以我的想法是先把线画出来,然后再在图例间隔大点取一些点画上,这样既能区分每条线 又不密集,但是图例就出现了这个问题。
- R* `/ a5 T5 r
4 r5 v. h. Z: E6 K* {. T所以请大家帮忙解决下哈!
" P+ [# a  B) Q# w, Y/ }
; A* \3 ?  k* t5 B- Q. r! s3 b
& t1 R% D  O8 J2 j# {& C0 c# G
8 m( ]( h9 h, K* ?
. C- S7 h3 F% Y" i$ F
+ M$ w7 P. `: C- ]' I
. n/ S; j  W5 M& p! v

该用户从未签到

2#
发表于 2020-5-12 15:02 | 只看该作者
看下面这个行吗?, @% Z$ F; k- p0 e( F8 w
. D7 e. L' n4 P8 l
h1 = plot(0:0.001:1,0:0.001:1,':r');/ u- W/ G6 B1 Q1 u* w4 |1 D
hold on;
% \9 ?5 r$ a+ o, @h2 = plot(0:0.1:1,0:0.1:1,':r*');* K1 \' c, J1 ]; H2 |
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. m2 ~/ `, p- u8 h& S, {- |
看下面这个行吗?
$ w5 f2 e' u# P' C( V0 Q; Z- A, l# @- T  K6 n9 v; u7 N
h1 = plot(0:0.001:1,0:0.001:1,':r');
$ ~) h9 i5 f0 g9 _' u0 j/ E
谢谢啦  
- h- v- X# x- G' ^7 \, @根据你的语句 我又尝试了下  已经可以了,这是修改后的那部分
  • 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','正交异性钢桥面板','上游主缆','下游主缆')

  • * n# w/ U, i. y7 Z

4 a  N9 P7 G# _3 M
( r3 u& r+ r9 i1 c) Q0 }

- a, P2 G! l7 \# i1 ?这样就能都显示了
% A7 F) ]+ _$ r% P$ \* l; k万分感谢2 u8 o9 F, {, k) @

; e/ g! z: |0 w' u' i8 b

该用户从未签到

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-23 10:24 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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