等值线图的画法总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
望画的等值线的数值的向量矩阵;通过 LineSpec 可以定义等值线的线型等。
下面举例来探讨具体使用方法。
二、几个基本调控参数
下面先举一个例子(例 1):
或者
[C,h] = contour(peaks(20),10);
[C,h] = contour(peaks(20),[-6:1:6]);
1、clabel 命令(等值线值标注)
20
18
16
0
14
12
10
8
6
0
4
2 2
1
1
2
34
2
1
3
5
56
6
3 54
21
24
0
1
6
3 54
3
-1 -2
-1 0
2 1
2
1
2
1
-2
-2
12
3
1
-1 0
-10 2
1
33
2 1 -1 0
1 0
-2 -3-4
2
3
2 1
-1
1
0
-2
-3 -1
0
-1
-3 -2
-5 -4
-6 -5 -4
-2
0
-3
-2
-1
-1
4
6
8
10
12
14
16
18
6
4
2
0
-2
-4
0
20
-6
2、caxis 命令(控制所画矩阵 Z 的等值线的色彩范围)
caxis 命令基本用法包括:
caxis([cmin cmax]) % 认为给定,高于 cmax 或低于 cmin 的值色彩与二者相同
caxis auto
caxis manual
caxis(caxis) freeze % 类似于 hold on;caxis 冻结
% 色标范围,只是 colorbar 数值范围,
% 色彩大小还是跟图中一一对应
set(h1,'ytick',[-6:1:8],'yticklabel',{'',..}) ; % 这两个跟坐标轴控制时意思完全一样
set(h1,'Ycolor','w','YDir','reverse 或 normal','Yscale','linear','Ygrid','on 或 off' ,
2
-1.2999
-3.8302 -2.5651 -1.2999 -0.034787
2
4
6
8
10 12 14 16 18 20
三、pcolor 命令 其基本用法包括:
pcolor(C) pcolor(X,Y,C) pcolor(axes_handles,...) h = pcolor(...) 其基本用法同 contourf,只是其着色并非连续,而是分块呈棋盘状。 比如下例所示:
% 坐标轴线型和粗细
set(gca,'tickdir','in 或 out')
% 小标记只想坐标轴内或外
set(gca,'XAxisLocation','top 或 bottom')
% x 坐标轴在上面或下边,
%隐含在下边
பைடு நூலகம்
set(gca,'YAxisLocation','left 或 right')
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
-1
-0.5
0
0.5
-1 1
四、shading 命令(注意例题中 colorbar 的用法)
其基本用法包括:
shading flat
% 去掉了等值线
shading faceted
% 带着等值线,隐含状态
shading interp
等值线绘图法集合
在物理海洋学中,主要用到的等值线绘图法为 Contour,Contourf 和 Pcolor
等命令,下面先介绍这三个命令。
一、Contour 命令(只画等值线)
Contour 命令基本用法包括:
contour(Z)
% 等高线矩阵
contour(Z,n)
% 画 n 条等高线
contour(Z,v)
% 颜色插值
shading(axes_handle,...)
一般还加
Set(h,'edgecolor','none') 基本用法及修饰方法与 contour 完全一致,这里不再赘述。 [C,h] = contourf(peaks(20),10); Colormap autumn
20
1.2304
1.2304 3.7606
18 16
2.4955
5.02528.4955
set(gca,'XMinorgrid','on 或 off','XMinortick,'on 或 off') % 细网格或小标尺是否?
set(gca,'XTick',[ ],'XTicklabel',{''...})
% X 轴的标注
二、contourf 命令(画等值线,中间填充色彩) 其基本用法为: contourf(Z) contourf(Z,n) contourf(Z,v) contourf(X,Y,Z) contourf(X,Y,Z,n) contourf(X,Y,Z,v) contourf(...,LineSpec) contourf(axes_handle,...) contour(axes_handle,...) [C,h] = contourf(...) [C,h,CF] = contourf('v6',...)
set(gca,'Fontname','隶书','FontSize',10,'FontWeight') % 控制数值格式,大小,是
%够加粗等
set(gca,'Gridlinestyle',':;--;- ;-.')
% 控制网格线线型
set(gca,'linestyleorder','-','LineWidth',2)
% 选择使用哪种色标,共 13 中选择
colormap('default')
% 设置当前使用为默认
cmap = colormap
% 查看当前使用 colormap
colormap(ax,...)
% 对 ax 坐标轴下的。。。
Matlab 有如下 13 中常规色彩方案,一般默认为 jet:
具体调用时可选择:
% 同上,只是左右的问题
set(gca,'xcolor','r','XDir','reverse 或 normal') % 坐标轴颜色,是否逆转,Y 同理
set(gca,'XGrid','on')
% 网格线
set(gca,'XLim',[ ],'Xscale','',)
% 坐标轴大小,尺度增长,Y 同理
或者 ch=clabel(C,h,[-6:1:6]),'LabelSpacing',72,'FontSize',15,'color','r','Rotation',0) set(ch,'FontSize',15,'color','r','Rotation',0,'BackgroundColor',[1 1 .6],'Edgecolor',[.7 .7 .7])
% 返回句柄河 色彩值
[C,h] = contour('v6',...)
% 不同版本使用转换
set(h,'LineStyle','--',...)
% 也可如此控制线型线粗等
Z 为所要画等高线的矩阵,表示离某一平面的高度。n 表示所画等值线的条
数,由 MATLAB 根据 Z 矩阵最大最小值自动选取;v 则由用户指定,是用户希
45
3
-1 0
2
1
2
2
3
-2
12
1
-1 0 2
3
3
1
3
2
1
20
1 -1 -2
-3
-1 0 1
-4
0
-3 -2
-1 -2 -3 -4 -5
-6 -5 -4
-3 -2
-1
-1
1 2
1
0
4
6
8
10
12
14
16
18
3 2 1 0 -1 -2
0
-3 20
3、colorbar 的命令 其基本用法有:
colorbar
% 建议使用格式 % 建议使用 % 控制隔多少距离标定一个
对于例 1 中情况,可使用如下标定: ch=clabel(C,h,[-6:1:6],'LabelSpacing',72,'FontSize',15,'color','r','Rotation',0) set(ch,'BackgroundColor',[1 1 .6],'Edgecolor',[.7 .7 .7])
下面执行如下命令:
[C,h] = contour(peaks(20),[-6:1:6]); set(h,'LineStyle','--','LineWidth',2) ; %, 'color','r' 线全变红了 Colorbar; ch=clabel(C,h,[-6:1:6],'LabelSpacing',72,'FontSize',15,'color','r','Rotation',0) set(ch,'BackgroundColor',[1 1 .6],'Edgecolor',[.7 .7 .7])
cbar_axes = colorbar(...)
colorbar(cbar_handle,'off')
colorbar(cbar_handle,'hide')
colorbar(cbar_handle,'delete')
colorbar(cbar_handle, PropertyName',propertyvalue,...) 下面换一个新的例子来示范下:
colormap(jet)
colormap('jet')
colormap jet 具体还可以通过"edit—colormap"来具体调,已达到最佳效果。 5、坐标轴相关控制
对于所有绘图,坐标轴统一控制方式为:
set(gca,...) 下面将主要的基本特征介绍如下:
set(gca,'FontAngle','normal 或 italic 或 oblique') % 控制坐标数值字体旋转
其基本用法包括:
clabel(C,h)
% 自动标
clabel(C,h,v)
% 按向量 v 标
clabel(C,h,'manual')
% 手动标,按 return 返回
clabel(C)
% 自动标,不旋转,且有“+”号
clabel(C,v)
clabel(C,'manual') text_handles = clabel(...) clabel(...,'PropertyName',propertyvalue,...) clabel(...'LabelSpacing',points)
colorbar('off')
colorbar('hide')
colorbar('delete') colorbar(...,'peer',axes_handle)
% 通过 h=gca 可得 axes_handle 标号
colorbar(...,'location')
colorbar(...,'PropertyName',propertyvalue)
% 等高线的值等于响亮 v 中的值
contour(X,Y,Z)
% x,y 坐标定义
contour(X,Y,Z,n)
contour(X,Y,Z,v)
contour(...,LineSpec)
% 定义线型
contour(axes_handle,...)
% 坐标系定义
[C,h] = contour(...)
v = caxis
% 返回两个数的向量,就是色标范围
caxis(axes_handle,...) % 适用于
例如对上图:
Caxis([-3 3]); %,注意,colorbar 随着一起变了
20
18
0
16
14
12
10
8
6
0
4
2 2
0 -1
-2 -1
0
0
1
2
34
1
3
6
456
2
1 2 53
4 6
21
1
3
n = 6; r = (0:n)'/n; theta = pi*(-n:n)/n; X = r*cos(theta); Y = r*sin(theta); C = r*cos(2*theta); pcolor(X,Y,C) axis equal tight
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
‘TickDir’,'in 或 out')
% colorbar 的 y 方向相关控制
set(h1,'FontSize',18,'Fontname','times new roman',)
又
set(f1,'Color','r')
% 可以调控图的背景颜色
4、colormap 命令
其基本用法有:
colormap(map)
f1=surf(peaks(20));
h1=colorbar 或者 colorbar;h1=findobj(f1,'tag','Colorbar');
set(h1,'Location','Eastoutside','Position',[ ]) % 位置和方位定义
set(h1,'ylim',[-6 8]);
65..20920598 1.2304
14 12
-1-0.2.0939497837.7606
2.41.9253504
-2.5651
2.4955
10 8 6 4
-2.5651
-1.2999-0.0314-7.0283.7003244.74897515.23-03-41.8.239-0592.90-095.0434787 1.2304