欢迎访问宙启技术站
智能推送

matplotlib.figure绘制等高线图的实现方式

发布时间:2023-12-23 05:49:41

matplotlib是一个常用的数据可视化工具库,可以绘制各种图形,包括等高线图。matplotlib.figure模块提供了创建Figure对象的功能,Figure对象是图形的顶层容器。

使用matplotlib.figure绘制等高线图的步骤如下:

1. 导入必要的库

import matplotlib.pyplot as plt
import numpy as np

2. 生成数据

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

这里使用numpy库生成了两个1维的等差数列,然后用np.meshgrid函数将两个数列转换为网格坐标矩阵,最后通过计算得到Z值。

3. 创建Figure对象和Axes对象

fig = plt.figure()
ax = fig.add_subplot(111)

创建Figure对象,并使用add_subplot函数添加一个Axes对象。

4. 绘制等高线图

contour = ax.contour(X, Y, Z)
ax.clabel(contour, inline=True)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_title('Contour Plot')

使用contour函数绘制等高线图,传入的参数分别为X、Y、Z坐标数据。然后使用clabel函数为等高线添加标签。最后使用set_xlabel、set_ylabel和set_title函数设置坐标轴标签和图形标题。

5. 显示图形

plt.show()

调用show函数展示图形。

下面给出一个完整的使用例子:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

fig = plt.figure()
ax = fig.add_subplot(111)

contour = ax.contour(X, Y, Z)
ax.clabel(contour, inline=True)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_title('Contour Plot')

plt.show()

运行以上代码,就可以得到一个简单的等高线图。你可以根据自己的需求修改数据和图形样式来绘制不同的等高线图。希望对你有帮助!