使用Plot()在Python中绘制二维轮廓图的实例
发布时间:2023-12-24 15:10:36
在Python中,可以使用Matplotlib库的plot()函数绘制二维轮廓图。轮廓图由一系列等值线组成,表达了一个二维函数在不同坐标位置上取值的大小。以下是使用plot()绘制二维轮廓图的一个实例。
首先,我们需要导入必要的库:
import numpy as np import matplotlib.pyplot as plt
接下来,我们定义一个二维函数,作为我们要绘制轮廓图的数据源。这里我们以二元高斯分布函数为例:
def gauss(x, y, xo, yo, sigma):
return np.exp(-(x-xo)**2/(2*sigma**2) - (y-yo)**2/(2*sigma**2))
然后,我们创建一个二维网格,来表示坐标位置,并计算每个位置的函数值:
x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) Z = gauss(X, Y, 0, 0, 1)
接下来,我们可以使用plot()函数来绘制轮廓图。函数的主要参数有:
- X和Y:二维网格坐标数组。
- Z:对应坐标位置的函数值数组。
- levels:轮廓线的等值集合。
- cmap:颜色图。
- linewidths:轮廓线的宽度。
下面是一个例子,绘制一个二元高斯分布的轮廓图:
plt.figure()
plt.contour(X, Y, Z, levels=10, cmap='rainbow', linewidths=0.5)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Contour Plot of Gaussian Distribution')
plt.colorbar()
plt.show()
以上代码中,我们指定了轮廓线的等值集合为10个,颜色图选择了彩虹色,轮廓线的宽度为0.5。最后使用plt.colorbar()函数添加一个颜色标尺。
运行以上代码,我们将得到一个二元高斯分布的轮廓图。图中的等值线表示对应位置上的函数值,不同颜色表示不同的函数值大小。
除了使用等值线绘制轮廓图外,Matplotlib还提供了使用填充色方法contourf()来绘制填充的轮廓图。使用方法与plot()类似,只需将plot()替换为contourf()即可。
总结来说,使用Matplotlib的plot()函数可以方便地绘制二维轮廓图。通过指定坐标位置和对应的函数值,可以得到一个直观的表示函数分布的图形。
