等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中。

因为等高线的图有三个信息: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画等高线图详解相关推荐

  1. python 制作gif-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  2. 制作gif动图python_利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  3. Python中下划线 _ 的最全用法详解

    Python中下划线 _ 的最全用法详解 '_'是什么? _在python中可以作为一个标识符,用于定义变量和方法唯一名称.同时它也是Python中的一个软关键字,指在某些特定上下文中保留的关键字.截 ...

  4. python回归算法_机器学习算法之回归详解

    导语 回归:从一组数据出发,确定某些变量之间的定量关系式:即建立数学模型并估计未知参数. 回归的目的是预测数值型的目标值,它的目标是接受连续数据,寻找最适合数据的方程,并能够对特定值进行预测.这个方程 ...

  5. python画动图-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  6. python画动态图-利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  7. pythongif字符动图,利用Python如何制作好玩的GIF动图详解

    前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...

  8. Python数据分析(三)matplotlib折线图应用实例——自定义图形风格

    往期推荐: Python数据分析(一)matplotlib基础绘图和调整x轴刻度 Python数据分析(二)matplotlib折线图应用实例--绘制10点到12点的气温 Python数据分析(四)m ...

  9. Python Matplotlib 3D绘图详解(汇总)

    Python Matplotlib 3D绘图详解(汇总) 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为 ...

  10. python二维图颜色函数_Python绘图之二维图与三维图详解

    各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import ...

最新文章

  1. k means聚类算法_一文读懂K-means聚类算法
  2. 暖通空调系统全面水力平衡解决方案
  3. 【TCP/IP详解 卷一:协议】第十八章 TCP连接 的建立与终止 (2)其余内容
  4. Javafx的WebEgine执行window对象设置属性后为undefined
  5. Wireshark常用过滤使用方法
  6. A. Gamer Hemose
  7. IDEA java出现无效的源发行版 9
  8. ubuntu16.04下在TensorFlow中实现快速风格迁移
  9. echo linux命令_Linux echo命令示例
  10. UGUI的Drag实现鼠标拖拽
  11. java使用Rocksdb
  12. 巧用代理猎手揪出局域网中的二级代理
  13. 秘密行动倒计时丨DC86021行动指挥部致全体极客伙伴的一封密信
  14. 如何让别人看不懂java代码_为什么你写的代码别人看不懂?
  15. xss.haozi挑战
  16. 《简约至上:交互式设计四策略》读书感悟
  17. linux who命令功能,Linux who命令详解
  18. 【智能无线小车系列七】在树莓派上使用USB网卡
  19. ffmpeg+dxva2 +D3D9显示 学习笔记
  20. caffe 制作数据集

热门文章

  1. Oracle数据库(完整版)
  2. JD-JUI反编译问题
  3. matlab 矩阵增加行,MATLAB 中 如何在矩阵中插入1行
  4. java excel 单元格 斜线_POI实现excel单元格画斜线
  5. 联动报警系统服务器,火灾自动报警系统的维护,该如何应对?
  6. 使用hex编码绕过主机卫士IIS版本继续注入
  7. linux 主机卫士安装及使用
  8. QQ音乐、网易云音乐、虾米音乐们的音乐社区暗战
  9. 数据分析报表使用指南
  10. 豆瓣电影top250爬虫+数据可视化分析