python等高线绘制_用matplotlib画等高线图详解
等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中。
因为等高线的图有三个信息:x,y以及x,y所对应的高度值。
这个高度值的计算我们用一个函数来表述:
计算x,y坐标对应的高度值
def f(x,y):
return (1-x/2+x**5+y**3) * np.exp(-x**2-y**2)
这个函数看起来挺复杂的,但我们这里只是为了能够获得一个高度值,因此其中函数代表什么意义不用关心,只要知道输入一个x,y,输出一个高度值就可以了。
要画出等高线,核心函数是plt.contourf(),但在这个函数中输入的参数是x,y对应的网格数据以及此网格对应的高度值,因此还需要调用np.meshgrid(x,y)把x,y值转换成网格数据才行,这样完整的代码如下:
画等高线的代码如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 计算x,y):
return (1-x/2+x**5+y**3) * np.exp(-x**2-y**2)
# 生成x,y的数据
n = 256
x = np.linspace(-3,3,n)
y = np.linspace(-3,n)
# 把x,y数据生成mesh网格状的数据,因为等高线的显示是在网格的基础上添加上高度值
X,Y = np.meshgrid(x,y)
# 填充等高线
plt.contourf(X,Y,f(X,Y))
# 显示图表
plt.show()
上述代码显示的图形为:
这颜色有点太冷了,我们想显示热力图,那只要在plt.contourf()函数中添加属性cmap=plt.cm.hot就能显示热力图,其中cmap代表为color map,我们把color map映射成hot(热力图),此处关键代码为:
# 填充等高线
plt.contourf(X,Y),cmap=plt.cm.hot)
显示的图为:
是否显示得挺热的。:)
上面是用plt.contourf()填充了等高线,但还有一种方式是可以直接显示等高线,而不是填充的方式,例如:
C = plt.contour(X,20)
这里20代表的是显示等高线的密集程度,数值越大,画的等高线数就越多。
这样显示的图形为:
当然,如果我们不调用前面的plt.contourf()函数,则就会直接显示等高线。
最后我们想在等高线中添加上标注值:
plt.clabel(C,inline=True,fontsize=12)
显示的图为:
完整的代码为:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 计算x,20,cmap=plt.cm.hot)
# 添加等高线
C = plt.contour(X,20)
plt.clabel(C,fontsize=12)
# 显示图表
plt.show()
总结
以上就是本文关于用matplotlib画等高线图详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
python等高线绘制_用matplotlib画等高线图详解相关推荐
- python 制作gif-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- 制作gif动图python_利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- Python中下划线 _ 的最全用法详解
Python中下划线 _ 的最全用法详解 '_'是什么? _在python中可以作为一个标识符,用于定义变量和方法唯一名称.同时它也是Python中的一个软关键字,指在某些特定上下文中保留的关键字.截 ...
- python回归算法_机器学习算法之回归详解
导语 回归:从一组数据出发,确定某些变量之间的定量关系式:即建立数学模型并估计未知参数. 回归的目的是预测数值型的目标值,它的目标是接受连续数据,寻找最适合数据的方程,并能够对特定值进行预测.这个方程 ...
- python画动图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- python画动态图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- pythongif字符动图,利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- Python数据分析(三)matplotlib折线图应用实例——自定义图形风格
往期推荐: Python数据分析(一)matplotlib基础绘图和调整x轴刻度 Python数据分析(二)matplotlib折线图应用实例--绘制10点到12点的气温 Python数据分析(四)m ...
- Python Matplotlib 3D绘图详解(汇总)
Python Matplotlib 3D绘图详解(汇总) 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为 ...
- python二维图颜色函数_Python绘图之二维图与三维图详解
各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import ...
最新文章
- k means聚类算法_一文读懂K-means聚类算法
- 暖通空调系统全面水力平衡解决方案
- 【TCP/IP详解 卷一:协议】第十八章 TCP连接 的建立与终止 (2)其余内容
- Javafx的WebEgine执行window对象设置属性后为undefined
- Wireshark常用过滤使用方法
- A. Gamer Hemose
- IDEA java出现无效的源发行版 9
- ubuntu16.04下在TensorFlow中实现快速风格迁移
- echo linux命令_Linux echo命令示例
- UGUI的Drag实现鼠标拖拽
- java使用Rocksdb
- 巧用代理猎手揪出局域网中的二级代理
- 秘密行动倒计时丨DC86021行动指挥部致全体极客伙伴的一封密信
- 如何让别人看不懂java代码_为什么你写的代码别人看不懂?
- xss.haozi挑战
- 《简约至上:交互式设计四策略》读书感悟
- linux who命令功能,Linux who命令详解
- 【智能无线小车系列七】在树莓派上使用USB网卡
- ffmpeg+dxva2 +D3D9显示 学习笔记
- caffe 制作数据集