python+matplotlib 绘制等高线
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 绘制等高线的更多相关文章
- 【转】使用Python matplotlib绘制股票走势图
转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...
- python+matplotlib+绘制不同图标类型
#==================================================================#首先需要导入两个文件import matplotlib.pypl ...
- Python Matplotlib绘制气温图表
代码中数据从 www.wunderground.com/history/ 下载 #coding=utf-8 import csv from datetime import datetime from ...
- python matplotlib绘制六种可视化图表
1. 折线图 绘制折线图,如果你数据不是很多的话,画出来的图将是曲折状态,但一旦你的数据集大起来,比如下面我们的示例,有100个点,所以我们用肉眼看到的将是一条平滑的曲线. 这里我绘制三条线,只要执行 ...
- Python matplotlib绘制圆环图
一.语法和参数简介 plt.pie(x2,labels=labels, autopct = '%0.2f%%', shadow= False, startangle =0,labeldistance= ...
- Python学习(一) —— matplotlib绘制三维轨迹图
在研究SLAM时常常需要对其输出的位姿进行复现以检测算法效果,在ubuntu系统中使用Python可以很好的完成相关的工作. 一. Ubuntu下Python的使用 在Ubuntu下使用Python有 ...
- Python 使用 matplotlib绘制3D图形
3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何在Python中使用 matplotlib进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线( ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- Python——使用matplotlib绘制柱状图
Python——使用matplotlib绘制柱状图 1.基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.htm ...
随机推荐
- Android 多个activity之间的共享数据
最近打算做一个时间助手,一个service监听课表信息.课表信息可以通过另外的activity来设置,所以这里就涉及到了数据的同步问题.我设置后的信息必须同步到监听的信息去. 在java中我们用全局变 ...
- import模块后查找模块的绝对路径
>>> import bsddb3>>> bsddb3.__file__'/usr/local/lib/python2.6/site-packages/bsddb3 ...
- Azure进阶攻略丨Azure网络通不通,PsPing&PaPing告诉你答案
很多时候,为了解决一些问题,要查各种文档,很麻烦你造吗!做「伸手党」又容易被鄙视,这时候就需要用到[Azure 进阶攻略]啦!特此,我们推出关于 Azure 常用操作指南的系列文章,每篇涉及一个 Az ...
- debug问题记录
debug进不去,发现断点没有带勾. 方案:去掉所有断点,重新编译,debug启动,重新打断点. source里面加入自己的java project. 关掉所有的java页面!!! dobbo服务用d ...
- IOS 录音(AVAudioRecorder)
#import "HMViewController.h" #import <AVFoundation/AVFoundation.h> @interface HMView ...
- TSP 遗传算法
GA——遗传算法 同模拟退火算法一样,都是现代优化算法之一.模拟退火是在一定接受程度的情况下仍然接受一个比较差的解. 遗传算法,是真真正正的和大自然的遗传进化有着非常紧密的联系的,当然遗传进化的只是在 ...
- 【[ZJOI2010]网络扩容】
题目 第一问直接板子敲上去 第二问并不明白直接在残量网络上加边的神仙做法 非常显然我们需要让流量加\(k\),那么我们就使得网络里的总流量为\(maxf+k\),\(maxf\)是第一问求出来的最大流 ...
- 【洛谷P1169】[ZJOI2007]棋盘制作
棋盘制作 题目链接 这个题是[USACO5.3]巨大的牛棚Big Barn和玉蟾宫的结合 一道顶两道毒瘤! 题解: 首先,棋盘有两种选法: 1.任意白格(x,y) (x+y)%2=0 ,任意黑格(x, ...
- 【洛谷P2216】[HAOI2007]理想的正方形
理想的正方形 [题目描述] 一个a*b的矩阵,从中取一个n*n的子矩阵,使所选矩阵中的最大数与最小数的差最小. 思路: 二维的滑动窗口 对于每行:用一个单调队列维护,算出每个长度为n的区间的最大值和最 ...
- SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这 ...