Matlab绘图基础——绘制等高线图

时间:2023-02-25 15:52:26
% 等高线矩阵的获取
C = contourc(peaks(20),3);              % 获取3个等级的等高线矩阵
% 等高线图形的绘制
contour(peaks(20),10);colormap autumn   % 绘制二维的等高线
contour3(peaks(20),10);colormap autumn  % 绘制三维的等高线
    % 还可以指定等高线的条数、坐标系的比例及某高度上的等高线
% 等高线图形的填充
contourf(peaks(20),10);colormap autumn  %绘制填充的二维等高线,有n的等级

%等高线图形的标注

[x,y]=meshgrid(-2:.2:2);%生成格网
z=x.^exp(-x.^2-y.^2);   %函数
[C,h]=contour(x,y,z);colormap autumn;
%-----方法一
text_handle = clabel(C,h);
set(text_handle,'BackgroundColor',[1 1 .6],'Edgecolor',[.7 .7 .7])
                   %标注颜色设置为黄色           %标注的“边界”设置为灰色
%-----方法二
clabel(C,h,'FontSize',10,'Color','r','LabelSpacing',72,'Rotation',0);
            %字体大小         %颜色      %两个标注的间隔    %标注(字)是否旋转
                                        ——more information  see matlab帮助——Contour Plots
Matlab绘图基础——绘制等高线图

等高线矩阵的数据结构

[C,h]=contour(x,y,z);colormap autumn;
    % C是等高线矩阵,包括x,y坐标和该点等高线的等级
        % C的记录格式如下图
height1 x1 …… xN1 height2 ……
点数N1 y1 …… yN1 点数N2 ……

注1:height1和height2可能相等,因为一个高度可能有多条等高线

注2:当等高线被边界截断时,等高线是不闭合的;闭合的等高线第一个点与最后一个点相等。
注3:h.ContourMatrix同样可以获取该等高线矩阵

如何只计算等高线矩阵

% 数据准备
[x,y]=meshgrid(-2:.2:2);  %生成格网
z=x.*exp(-x.^2-y.^2);     %函数
 
% 获取height=k的等高线上的各点坐标
k = 0.2;
C = contourc(-2:.2:2,-2:.2:2,z,[k,k]);
 
% 获取height=k的‘各’等高线上的各点坐标
k = [0,0.1,0.2,0.3,0.4];
C = contourc(-2:.2:2,-2:.2:2,z,k);
 
% 获取n条等间距等高线上的各点坐标
n = 3;
C = contourc(-2:.2:2,-2:.2:2,z,3);

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

Matlab绘图基础——绘制等高线图的更多相关文章

  1. Matlab绘图基础——绘制三维表面

    %绘制三维表面 ------------------------------------- %1.绘制线框图:mesh:每一条曲线称为mesh line %首先利用meshgrid函数产生平面区域内的 ...

  2. Matlab绘图基础——绘制向量图,二维三维(绘制参数曲线图)

    ------------------------------------------- %绘制向量场图 %例一 clear all;clc; [X,Y] = meshgrid(-2:.2:2,-3:. ...

  3. Matlab绘图基础——绘制三维曲线

    %% 绘制三维曲线 %plot3函数,其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同. %1.当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线. x0 = 0 ...

  4. Matlab绘图基础——其他三维图形(绘制填充的五角星)

    其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4));   %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...

  5. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)

    描述 axes在当前窗口中创建一个包含默认属性坐标系 axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxe ...

  6. Matlab绘图基础——图形绘制的插值

    interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样点 spline    %一 ...

  7. Matlab绘图基础——图形绘制的插值&&num;160&semi; 以及 图像大小的重采样

    使用说明:图形绘制时的插值 interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样 ...

  8. Golang 绘图基础 -绘制简单图形

    前一节讲的是 绘图到不同输出源,请看地址: http://www.cnblogs.com/ghj1976/p/3440856.html 上一节的例子效果是通过设置每一个点的的RGBA属性来实现的,这是 ...

  9. matlab绘图基础

    matlab绘制条形图并分组显示: a =[1 2 3] b =[4 5 6] >> d=[a;b] d = 1 2 3 4 5 6 >> bar(d,'group') 修改横 ...

随机推荐

  1. &period;NET中XML序列化的总结

    [题外话] 以前虽然常用.NET中的序列化,但是常用的BinaryFormatter,也就是二进制文件的序列化,却鲜用XML的序列化.对于XML序列化,.NET中同样提供了一个非常方便的工具XmlSe ...

  2. 韩服LOL

    ※◆☆★☆◆※欢迎使用韩服LOL辅助,如有疑问请联系作者QQ:82850696*2*测试版已停用*1*2014-8-27 14:05:59*哈密*E2873D0137C6D04F42E088AA46E ...

  3. 15天学会jquery

    第二章 15 Days of jQuery 比window.onload 更快一些的载入 window.onload()是传统javascript 里一个能吃苦耐劳的家伙.它长久以来一直 被程序员们作 ...

  4. 编码注释coding&colon; utf-8

    # -*- coding: utf-8 -*- PY文件当中是不支持中文的,即使你输入的注释是中文也不行,为了解决这个问题,就需要把文件编码类型改为UTF-8的类型,输入这个代码就可以让PY源文件里面 ...

  5. &lbrack;Centos&rsqb;openvpn 服务端的安装&lpar;easy-rsa3&rpar;

    VPN在办公和fan墙领域有着广泛的应用,  我们小办公网最近可能会用到,先学学来着 vpn的server需要有公网ip,客户端可以在多种环境下使用 概念 PKI:Public Key Infrast ...

  6. vue-cli全局安装

    一.安装node.js a).不确定自己时候安装了node.js可以在控制台当中输入node -v来查看当前是否已经存在 如果看到输出了版本信息,那么证明已经有了node.js b).如果看到node ...

  7. 性能优化-YAHOO军规

    1.尽可能减少http请求数量 2.使用CDN 3.添加Expire/Cache-Control头 4.启用Gzip压缩 5.将css放在页面最上 6.将script放在页面最下 7.避免在CSS中使 ...

  8. Software Engineer’s path to the best annual performance review

    http://michaelscodingspot.com/2017/06/04/software-engineers-path-best-annual-performance-review/ How ...

  9. AdaBoost原理详解

    写一点自己理解的AdaBoost,然后再贴上面试过程中被问到的相关问题.按照以下目录展开. 当然,也可以去我的博客上看 Boosting提升算法 AdaBoost 原理理解 实例 算法流程 公式推导 ...

  10. 如何在linux中批量建立用户并设置随机密码

    Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题.同时由于Ubuntu系统中的root用户具有最高权限,无 ...