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

contour等值线设置 双横坐标 floatAxisX

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-7 10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
7 j# q% X9 x* y5 X
contour等值线定义,每条线设置等值线个数,等值线标注格式! @  \$ E- s2 h* @( w
应用floatAxis 使一幅图像使用多个X轴9 ?* o! U5 i" i- h8 K0 g
实例如下,可直接运行0 I  P; j$ U4 Q, o3 O& H$ D7 D
==============================) f, P1 i  W$ n
; S6 H0 J, A1 n7 y9 {& Z9 j
clear7 R  ^. A8 H1 T* U# ?3 y' k! d
clc/ s) e' ~% s% t5 e2 ~& m: X  l
x=linspace(28,35.5,751);8 d0 h' J" u6 i7 \
y=linspace(0,32,3201);6 ?' A) `$ X# R6 ]* e% _8 J% p" }* ~0 L
[X,Y]=meshgrid(x,y);
4 ~" l) y% I+ u3 l7 Z9 Q7 oindex=find(x==33); % 选择盐度起始值 335 c" P3 l9 e, W% X3 r3 d7 O
Z=(X.^2+Y.^2).^0.5; % lim=[28,47.794]
' D! z2 y* \: e* mv=floor(min(min(Z))):3:ceil(max(max(Z))); % 坐标值标注范围及间距
- G' _5 N: ?0 T* x  B[C,h]=contour(X,Y,Z,v); % 标注v设定的等值线 h为contour图handle. T1 I( l+ `  z+ K  J, ?/ p6 Y
h_text=clabel(C,h,'labelSpacing',500);1 ~" O$ C8 k! o* p! m% S! H
% h_text为一组句柄,每个句柄代表每个等值线的标注,共有length(v)个
, A3 k3 U1 Y, u$ d% LabelSpacing 表示每条等值线距离多远标注一个值,默认为72,每条线标注很多) u. H3 @, R% b' u5 J3 }8 l& y
% 只需要一个时,将该值设置较大,则每条线仅标一个* J' }' {$ |7 {
colormap copper  % 设置 铜色等值线
$ P$ V) y$ N* n
$ R5 K# A4 m! }7 e9 v  ^% 单独设置每条等值线上的字符,例如设置为3位含1位小数格式
; f( H9 K' H1 G4 rfor kk=1:length(h_text): l* ]$ q. b" S, I- R/ P- v& X
set(h_text(kk),'string',sprintf('%3.1f',get(h_text(kk),'userdata')))
9 X- \9 }4 b9 h- j5 m" L% @end
4 X2 b2 f& E7 G1 X. d% 也可以试试加个字符,例如( U# J4 K, ~" v/ x* `) W# N
set(h_text(1),'string','很好玩吧')
7 D/ o; c2 e% s# Z
+ _0 H9 V2 X- N- Y6 \% Contour图上也可以加入plot 以及floatAxis
8 Z* C: L, w1 [% E: nhold on- i+ `  {3 I/ i* k% J0 [& [
h1=plot(x,15*(1+sin(x)),'k:');
% L9 B2 e0 D: V, s8 A2 {. n! Q% K6 @set(h1,'linewidth',2)
6 ^1 j0 [' y$ Z4 |6 v5 {- Gxlabel('y=15*(1+sin(x))')/ c/ W/ n: ^+ z* S4 C, ?

7 N7 N- P3 h# }[h2,ax1,ax2]=floatAxisX(x,15*(1+cos(x)),'k-','y=15*(1+cos(x))',[28,35.5,0,32]);1 m; c7 ]" g1 \9 m/ S& g+ D
set(h2,'linewidth',2)9 T+ N* O/ j: ]6 Q( B0 j* @
% 调用floatAxisX,双横轴,前两项必须输入,后三项均optional
" K8 X( l# P6 E3 j; L1 Z: ]' ^% nargin=2
! Z; J5 v: x2 ?) }: |% 输入 x,y值
$ P& X& u3 V! i# j6 f( A- p* i% nargin=36 Y5 j3 S* `5 j6 C
% 定义曲线,默认为'k-',黑实线
# O# P. H6 W0 B% nargin=4
) U) P: u9 }% S6 Q. y% P% 定义x轴label,'string'
4 r7 I5 g. Q- s  v, r- d% c% nargin=55 M1 G+ b: g0 N( N( i
% 定义x,y范围, [xmin,xmax,ymin,ymax]
' y) R8 {8 O& `set(gcf,'color','w')9 s7 ]$ T4 m5 ~4 Z
[X,map]=getframe(gcf);
" R# j- r0 m6 m' N& ?imwrite(X,'imagetest_contour.jpg')
  ^& P2 P) Z5 K9 Y6 I6 H
; O! i: s/ k/ Q& w: ?2 {5 P

该用户从未签到

2#
发表于 2020-4-7 18:49 | 只看该作者
contour等值线设置 双横坐标 floatAxisX
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-23 08:06 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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