首页 > Python基础教程 > Python数据可视化
阅读:3,221
Python Matplotlib contour和contourf:绘制等高线
等高线图需要的是三维数据,其中 X、Y 轴数据决定坐标点,还需要对应的高度数据(相当于 Z 轴数据)来决定不同坐标点的高度。
有了合适的数据之后,程序调用 contour() 函数绘制等高线,调用 contourf() 函数为等高线图填充颜色。
在调用 contour()、contourf() 函数时可以指定如下常用参数:
下面程序使用 contour()、contourf() 函数来绘制等高线图:
程序中第 19 行代码调用 contour() 函数来绘制等高线。运行上面程序,可以看到如图 1 所示的效果。
图 1 contour和contourf绘制等高线图
有了合适的数据之后,程序调用 contour() 函数绘制等高线,调用 contourf() 函数为等高线图填充颜色。
在调用 contour()、contourf() 函数时可以指定如下常用参数:
- x:指定 X 轴数据。
- y:指定 Y 轴数据。
- z:指定 X、Y 坐标对应点的高度数据。
- colors:指定不同高度的等高线的颜色。
- alpha:指定等高线的透明度。
- cmap:指定等高线的颜色映射,即自动使用不同的颜色来区分不同的高度区域。
- linewidths:指定等高线的宽度。
- linestyles:指定等高线的样式。
下面程序使用 contour()、contourf() 函数来绘制等高线图:
import matplotlib.pyplot as plt import numpy as np delta = 0.025 # 生成代表X轴数据的列表 x = np.arange(-3.0, 3.0, delta) # 生成代表Y轴数据的列表 y = np.arange(-2.0, 2.0, delta) # 对x、y数据执行网格化 X, Y = np.meshgrid(x, y) Z1 = np.exp(-X**2 - Y**2) Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) # 计算Z轴数据(高度数据) Z = (Z1 - Z2) * 2 # 为等高线图填充颜色, 16指定将等高线分为几部分 plt.contourf(x, y, Z, 16, alpha = 0.75, cmap='rainbow') # 使用颜色映射来区分不同高度的区域 # 绘制等高线 C = plt.contour(x, y, Z, 16, colors = 'black', # 指定等高线的颜色 linewidth = 0.5) # 指定等高线的线宽 # 绘制等高线数据 plt.clabel(C, inline = True, fontsize = 10) # 去除坐标轴 plt.xticks(()) plt.yticks(()) # 设置标题 plt.title("等高线图") # 为两条坐标轴设置名称 plt.xlabel("纬度") plt.ylabel("经度") plt.show()上面程序中,第 16 行代码用于为等高线图填充颜色,此处指定了 cmap 参数,这意味着程序将会使用不同的颜色映射来区分不同高度的区域。
程序中第 19 行代码调用 contour() 函数来绘制等高线。运行上面程序,可以看到如图 1 所示的效果。
图 1 contour和contourf绘制等高线图
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频