本帖最后由 叶舟 于 2023-4-18 10:14 编辑
报错: 错误使用 colorbarn 输出参数太多。
出错 contf_line (第 24 行) [ax1,c]=colorbarn(tick,color,mode);
打开colorbarn.m 把所有的Color改写成color
第一行改写成: [ax1,c]=colorbarn(tick,color,mode);
108行和133行分别加入: ax1=axes('position',[0.10.2 0.75 0.7]);
一个例子 lon=1:10; lat=1:10; color=[0.0274509803921569,0.117647058823529,0.274509803921569;0.101400560224090,0.408403361344538,0.681792717086835;0.403361344537815,0.679551820728291,0.819047619047619;0.870588235294118,0.964705882352941,1;1,0.887394957983193,0.890196078431373;0.985994397759104,0.482913165266107,0.357422969187675;0.757422969187675,0.0840336134453782,0.106442577030812;0.372549019607843,0,0];
tick=[0:0.1:0.6,0.8,0.9]; mode='v'; data_9=rand(10,10); [ax1,c,h]=contf_line(lon,lat,data_9,tick,color,mode); set(gca,'fontname','TimesNew Roman','fontsize',16,'fontangle','italic'); set(c,'fontname','TimesNew Roman','fontsize',14); 以上错误,什么都不用改!
我理解错题主意思了,我们可以直接使用matlab自带的m_contourf和[size=13.3333px]contourf绘图,
[size=13.3333px]然后使用[size=13.3333px]c1=colorbarn(xtick,color,'mode','v');可以为他增加一个带箭头的标签。[size=13.3333px]附件里的contf_line文件不用管他![size=13.3333px]
一个例子:
m_proj('Equidistant cylindrical','lon',[105 125],'lat',[0 25]);
[CS,CH]=m_etopo2('contourf',[-5000:500:0],'edgecolor','none');
m_grid('xtick',105:5:125,'ytick',0:5:25,'fontname', ...
'Times New Roman','fontsize',16);
color=[0.0156862745098039,0.0235294117647059,0.0745098039215686;0.118954248366013,0.115032679738562,0.233986928104575;0.202614379084967,0.198692810457516,0.409150326797386;0.247058823529412,0.294117647058824,0.588235294117647;0.244444444444444,0.416993464052288,0.691503267973856;0.288888888888889,0.539869281045752,0.739869281045752;0.380392156862745,0.658823529411765,0.780392156862745;0.516339869281046,0.773856209150327,0.827450980392157;0.715032679738562,0.881045751633987,0.892810457516340;0.917647058823529,0.992156862745098,0.992156862745098];
colormap(color);
brighten(.5);
m_usercoast('sea_line_5','color','k','linewidth',1)%设置海岸线
tick=[-5000:500:0];
c1=colorbarn(tick,color,'mode','v');
|