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. Android 自定义View之自绘控件

    首先要提前声明一下,我对于自定义View的理解并不是很深,最近啃了几天guolin博主写的关于自定义View的博客,讲的非常棒,只不过涉及到源码和底层的一些东西,我自己就懵逼了,目前只是会了关于自定义 ...

  2. ExecutorService的invokeAny方法

    一.此方法获得最先完成任务的结果,即Callable<T>接口中的call的返回值,在获得结果时,会中断其他正在执行的任务 示例代码: import java.util.ArrayList ...

  3. 面试题之-------使用TCP/UDP协议的常见协议及端口号

    使用TCP协议的常见端口主要有以下几种: (1) FTP:定义了文件传输协议,使用21端口.常说某某计算机开了FTP服务便是启动了文件传输服务.下载文件,上传主页,都要用到FTP服务. (2) Tel ...

  4. JDBC操作数据库的基本步骤:

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

  5. 【Leetcode】【Easy】Climbing Stairs

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  6. Selenium2学习(十三)-- JS处理滚动条

    前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...

  7. Struts2学习-拦截器2

    1.做一个登陆页面(loginView.jsp,才用Action来访问),2.登陆成功后,可以跳转到系统的首页(index.jsp),3.首页有一个链接(testOtherAction访问其它的功能模 ...

  8. SVN:验证位置时发生错误解决方案

    1. 2. 3.preferencens > svn >svn接口-选择SVNKit(Pure Java)设置后,再引用svn路径后,直接弹出输入用户名和密码就对了. 4.

  9. March 18 2017 Week 11 Saturday

    When you feel like quitting, think about why you started. 当你想放弃时,想想你为什么开始. When I heard of the messa ...

  10. IOS 本地推送(UILocalNotification)

    推送通知 ● 注意:这里说的推送通知跟NSNotification有所区别 • NSNotification是抽象的,不可见的 • 推送通知是可见的(能用肉眼看到) ● iOS中提供了2种推送通知 ● ...