爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4020|回复: 7

[程序设计] 等值线标注太密集

[复制链接]

新浪微博达人勋

发表于 2019-10-15 16:31:46 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
用m_contour绘制了高度场,等值线的标注太密了,能不能隔几条线标注一下?谢谢各位老师;
程序如下:
lat= ncread('vwnd.mon.mean.nc','lat');
lon= ncread('vwnd.mon.mean.nc','lon');
v= ncread('vwnd.mon.mean.nc','vwnd');
u1= ncread('uwnd.mon.mean.nc','uwnd');
H = ncread('hgt.mon.mean.nc','hgt');
h = H(:,:,10,450);

[x,y] = meshgrid(lon,lat);
v1 = v(:,:,10,450);
v1(v1==-9999) = nan;
u2 = u1(:,:,10,450);
u2(u2==-9999) = nan;
u3 = u2.*cosd(y');
d = 2 ;dd = 2;
uv = sqrt(u3.^2+v1.^2);
m_proj('Equidistant cylindrical','long',[18 212],'lat',[-22 47]);
m_coast('patch',[0.98 0.98 0.98],'edgecolor','k');
m_grid('box','on','xtick',10,'tickdir','in','yaxislocation','left','fontsize',10);
xlabel('longitude');
ylabel('latitudel');
title('风场和位势高度场','fontsize',15);
%m_ruler([0 0.5],1);
hold on;
m_quiver(x(19:45,9:85),y(19:45,9:85),u3(9:85,19:45)'./dd,v1(9:85,19:45)'./dd,1);
% m_pcolor(x,y,double(uv'));
hold on;
m_contour(x(19:45,9:85),y(19:45,9:85),h(9:85,19:45)',25,'ShowText','on',...
    'Color','r','LineWidth',0.8);


图片如下:

wandh10151.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-15 23:23:11 | 显示全部楼层
当然可以啊
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-16 12:17:09 | 显示全部楼层

能指点一下吗?谢谢.
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-16 18:44:42 | 显示全部楼层
xueqixiang 发表于 2019-10-16 12:17
能指点一下吗?谢谢.

怎么画要根据研究什么来选的,没有通用的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-18 10:43:18 | 显示全部楼层
本帖最后由 ljjtc 于 2019-10-18 12:23 编辑

这是你的原始代码
  1. m_contour(x(19:45,9:85),y(19:45,9:85),h(9:85,19:45)',25,'ShowText','on',...
  2.     'Color','r','LineWidth',0.8);
复制代码

在后面添加'levellist',[这边输入你想显示的数值],如'levellist',[1:1:100]
  1. m_contour(x(19:45,9:85),y(19:45,9:85),h(9:85,19:45)',25,'ShowText','on',...
  2.     'Color','r','LineWidth',0.8,'levellist',[这边输入你想显示的数值]);
复制代码

等高线数值显示也是可以修改的
  1. [C,H]=m_contour(x(19:45,9:85),y(19:45,9:85),h(9:85,19:45)',25,'ShowText','on',...
  2.     'Color','r','LineWidth',0.8,'levellist',[这边输入你想显示的数值]);
  3. clabel(C,H,'labelspacing',500)
复制代码

这边的500可以自己调节,表示每条等值线距离多远标注一个值
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-18 16:13:35 | 显示全部楼层
本帖最后由 xueqixiang 于 2019-10-18 16:17 编辑
ljjtc 发表于 2019-10-18 10:43
这是你的原始代码
在后面添加'levellist',[这边输入你想显示的数值],如'levellist',[1:1:100]

真心感谢您的细心指导,谢谢
D:\matlab\MATLAB\wavelet\picture\wandh10181
wandh10181.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-18 19:29:01 | 显示全部楼层
xueqixiang 发表于 2019-10-18 16:13
真心感谢您的细心指导,谢谢

不客气,你的同一条等高线显示了多次数值,可以修改只显示一次
用这个命令,修改后面的500就可以调节多少距离标注一次
  1. clabel(C,H,'labelspacing',500)
复制代码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-19 17:51:37 | 显示全部楼层
ljjtc 发表于 2019-10-18 19:29
不客气,你的同一条等高线显示了多次数值,可以修改只显示一次
用这个命令,修改后面的500就可以调节多 ...

感谢您的细心指导,可以了
wh10191.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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