python+matplotlib 绘制等高线

步骤有七:

  • 有一个m*n维的矩阵(data),其元素的值代表高度
  • 构造两个向量:x(1*n)和y(1*m)。这两个向量用来构造网格坐标矩阵(网格坐标矩阵m*n维,可见与data同)
  • 构造网格坐标矩阵X,Y
  • 进行颜色填充
  • 画等高线
  • 等高线的描述
  • 删掉坐标系

1. 构造一下高度矩阵:

def f(x,y):
"""
计算高度的函数
:param x: 向量
:param y: 向量
:return: dim(x)*dim(y)维的矩阵
"""
# the height function
return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2)

2. 构造两个向量:

x = np.linspace(-5,5,256)
y = np.linspace(-5,5,256)

3. 构造网格坐标矩阵:

X,Y = np.meshgrid(x,y)  # 获得网格坐标矩阵

4. 进行颜色填充:

# 进行颜色填充
plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot)

5. 画等高线:

# 进行等高线绘制
c = plt.contour(X,Y,f(X,Y),8,colors='black')

6. 等高线描述:

# 线条标注的绘制
plt.clabel(c,inline=True,fontsize=10)

7. 删除两条坐标:

plt.xticks(())
plt.yticks(())

-------------------------------------------------------------------------------------------------

将上面的代码总结一下:

import numpy as np
import matplotlib.pyplot as plt def f(x,y):
"""
计算高度的函数
:param x: 向量
:param y: 向量
:return: dim(x)*dim(y)维的矩阵
"""
# the height function
return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2) x = np.linspace(-5,5,256)
y = np.linspace(-5,5,256)
X,Y = np.meshgrid(x,y) # 获得网格坐标矩阵 # 进行颜色填充
plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot)
# 进行等高线绘制
c = plt.contour(X,Y,f(X,Y),8,colors='black')
# 线条标注的绘制
plt.clabel(c,inline=True,fontsize=10) plt.xticks(())
plt.yticks(()) plt.show()

运行结果:

python+matplotlib 绘制等高线的更多相关文章

  1. 【转】使用Python matplotlib绘制股票走势图

    转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...

  2. python+matplotlib+绘制不同图标类型

    #==================================================================#首先需要导入两个文件import matplotlib.pypl ...

  3. Python Matplotlib绘制气温图表

    代码中数据从 www.wunderground.com/history/ 下载 #coding=utf-8 import csv from datetime import datetime from ...

  4. python matplotlib绘制六种可视化图表

    1. 折线图 绘制折线图,如果你数据不是很多的话,画出来的图将是曲折状态,但一旦你的数据集大起来,比如下面我们的示例,有100个点,所以我们用肉眼看到的将是一条平滑的曲线. 这里我绘制三条线,只要执行 ...

  5. Python matplotlib绘制圆环图

    一.语法和参数简介 plt.pie(x2,labels=labels, autopct = '%0.2f%%', shadow= False, startangle =0,labeldistance= ...

  6. Python学习(一) —— matplotlib绘制三维轨迹图

    在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...

  7. Python 使用 matplotlib绘制3D图形

    3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线( ...

  8. python使用matplotlib绘制折线图教程

    Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...

  9. Python——使用matplotlib绘制柱状图

    Python——使用matplotlib绘制柱状图 1.基本柱状图           首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.htm ...

随机推荐

  1. 防反编译、混淆文件proguard.cfg与proguard-project.txt详解

    在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. 如果需要对项目进行全局混码,只需要进行一步操 ...

  2. linux 安装和卸载软件

    安装: apt-get install cups-pdf 卸载:apt -get remove cups

  3. 一键完成SAP部署的秘密,想知道么?

    诸如 SAP 这样的企业级应用已成为普遍的流行趋势.考虑到不同行业和需求的特点,所选平台必须能够为不同层面用户和各种 IT 活动提供灵活的容量需求. 此时上云也许是种不错的选择,而想上云的企业,一方面 ...

  4. check_mk的性能案例

    http://wiki.lustre.org/Check_MK/Graphite/Graphios_Setup_Guide Dell PowerEdge R515 2x 8-Core AMD Opte ...

  5. Flask入门邮件同步与异步发送(九)

    ​ 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有 ...

  6. jetbrain rider 逐渐完美了,微软要哭了么?

    2019-03-24 10:08:42 多年的vsiual studio使用经验,各种小瑕疵:到现在的visual studio是越来越大了:简直到了无法忍受境地: 每次重装系统都要重新安装下,这个不 ...

  7. 多设备同时安装apk(安卓)

    前几天在做安卓设备的多个设备同时安装的小脚本.因为目前我这边设备有点多,想顺便做一下安装的测试.而且因为公司的app测试人手上有点不足,就想通过这个办法去在安装的时候更方便省事一点. 本来是想弄个复杂 ...

  8. 查看锁定的session信息脚本

    查看当前被阻塞的对象和锁信息SELECT DISTINCT       s1.inst_id BlockingInst,       s1.sid BlockingSid,       s1.seri ...

  9. Oracle 11.1.0.6 导入导出bug

    实验环境: 11.1.0.6.0   对ANONYMOUSUSER_ALL表中分区进行备份 SQL> select TABLE_NAME,PARTITION_NAME,HIGH_VALUE,PA ...

  10. DOS下启动MySQL时输入net start mysql 提示服务名无效的问题

    原因:mysql服务名错误. 正确做法:net start  +mysql服务名