在此前的文章里,我们介绍了 Numpy 中 meshgrid 函数的应用,并提到了等高线图的使用。

今天,我们来介绍一下 matplotlib 中等高线图的绘制。

先上图来看一下等高线图的绘制效果,是不是很炫啊。

下面我们来分步骤介绍 matplotlib 中等高线图(contour)的绘制。

数据初始化

import matplotlibimport numpy as npimport matplotlib.cm as cmimport matplotlib.mlab as mlabimport matplotlib.pyplot as plt%matplotlib inline# 定义等高线高度函数def f(x, y):    return (1 - x / 2 + x ** 5 + y ** 3) * np.exp(- x ** 2 - y ** 2)# 数据数目n = 256# 定义x, yx = np.linspace(-3, 3, n)y = np.linspace(-3, 3, n)# 生成网格数据X, Y = np.meshgrid(x, y)

注:数据初始化过程中用到了 Numpy 的 meshgrid 函数,有兴趣的同学可以了解下这个函数的使用,链接如下:

  • Numpy中Meshgrid函数介绍及2种应用场景

仅绘制等高线

# 设置图像大小尺寸plt.figure(figsize=(10,6))# 填充等高线的颜色, 8是等高线分为几部分plt.contour(X, Y,f(X, Y), 8,alpha = 0.75, cmap = plt.cm.hot)

结果如下:

仅填充等高区域颜色:

# 设置图像大小尺寸plt.figure(figsize=(10,6))# 填充等高区域的颜色, 8是等高线分为几部分plt.contourf(X, Y,f(X, Y), 8, alpha = 0.75, cmap = plt.cm.hot)

结果如下:

绘制完整的等高线图

# 设置图像大小尺寸plt.figure(figsize=(10,6))# 填充等高线的颜色, 8是等高线分为几部分plt.contourf(X, Y, f(X, Y), 8, alpha = 0.75, cmap = plt.cm.hot)C = plt.contour(X,Y, f(X,Y), 8, colors='black', linewidth=8)# 绘制等高线数据plt.clabel(C, inline = True, fontsize = 10)# 去除坐标轴plt.xticks(())plt.yticks(())plt.show()

结果如下:

是不是很容易实现啊,赶快动手来试试吧。


 End 





公众号导航

ID:PyDataRoad



  • 在微信公众号后台回复数字「 1 」,获取公众号导航内容,包括部分文章源代码,精华文章等。

  • 在微信公众号后台回复「 微信群 」,和小伙伴们一起入群。




©著作权归作者所有:来自51CTO博客作者mb5fe18e7c44408的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. PHP生成折线图和饼图等
  2. 肝完这篇前端开发学习路线图,凌晨两点了
  3. jQuery基于Canvas的微信运动折线图动态曲线图插件 - wcMotionCha
  4. java前端实时绘制不连续时间点多系列折线图
  5. PHP学习路线图
  6. 如何使用webrequest使用Json数组绘制折线图
  7. js曲线图+饼状图+柱状图 (json数据)
  8. python的turtle模块画折线图
  9. python爬网页,做k线图

随机推荐

  1. php逐个汉字遍历字符串
  2. thinkPHP 获得当前请求的全部常量信息
  3. 如何使用ajax向php发送与每个按钮相关的
  4. PHP展示KMP拓展算法思想
  5. php标准库 SPL 数据结构之-----SplDoubly
  6. PHPCMS V9 的手机门户wap绑定单页面
  7. phpstorm取消自动保存并标识修改的文件为
  8. 尽管“SQL语法错误”消息仍然成功执行
  9. 使用mysql验证在php中登录表单
  10. php学习笔记四:使用 xampp-部署php网站