contourf函数用法
时间: 2023-07-26 16:46:15 浏览: 48
contourf函数是Matplotlib中的一个函数,用于绘制等高线图并填充颜色。
其基本用法为:
```python
contourf(X,Y,Z)
```
其中,X和Y是数据的网格矩阵,Z是数据的值矩阵。通常,我们可以使用numpy的meshgrid函数生成网格矩阵。
举个例子,如果我们想要绘制二元函数 $f(x,y)=\sin(x)+\cos(y)$ 的等高线图,可以这样写:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义二元函数
def f(x,y):
return np.sin(x) + np.cos(y)
# 生成网格矩阵
x = np.linspace(-np.pi, np.pi, 100)
y = np.linspace(-np.pi, np.pi, 100)
X, Y = np.meshgrid(x, y)
# 计算值矩阵
Z = f(X,Y)
# 绘制等高线图并填充颜色
plt.contourf(X, Y, Z)
# 显示图像
plt.show()
```
运行该代码,就可以得到一个等高线图并填充颜色的图像。如果需要修改填充颜色的样式,可以设置参数cmap,例如:
```python
plt.contourf(X, Y, Z, cmap='coolwarm')
```
这样就可以使用颜色映射表coolwarm来填充颜色了。
相关问题
scatter函数与contourf函数用法对比
scatter函数和contourf函数都是用于绘制二维图形的函数,但它们的用法有所不同。scatter函数主要用于绘制散点图,可以用不同的颜色和大小来表示不同的数据点,而contourf函数则用于绘制等高线图,可以用不同的颜色来表示不同的高度或数值。此外,scatter函数还可以用于绘制3D散点图,而contourf函数则可以用于绘制3D等高线图。
MATLAB中contourf 函数的用法
MATLAB中的`contourf()`函数用于绘制等值线图,并对等值线之间的区域进行填充。该函数的语法如下:
```
contourf(Z)
contourf(X,Y,Z)
contourf(...,levels)
contourf(...,LineSpec)
contourf(ax,...)
[C,h] = contourf(...)
```
其中,`Z`是一个二维数组,表示要绘制的等值线图的数据;`X`和`Y`是可选参数,表示`Z`数组的x轴和y轴坐标,如果未指定,则默认为`[1:size(Z,2)]`和`[1:size(Z,1)]`;`levels`是一个可选参数,用于指定等值线的数量和位置,可以是一个向量或者标量,如果是标量,则表示等值线数量,如果是向量,则表示等值线位置;`LineSpec`是一个可选参数,用于指定等值线的线型和颜色;`ax`是一个可选参数,表示要在哪个坐标系上绘制等值线图。
函数返回值`C`是一个等高线矩阵,表示每条等值线的值,`h`是一个图形句柄,用于对绘制出的图形进行进一步的操作。
例如,以下代码将绘制一张简单的等值线图:
```
[X,Y] = meshgrid(-2:.2:2);
Z = X .* exp(-X.^2 - Y.^2);
contourf(X,Y,Z)
colorbar
```
该代码创建了一个网格,并计算了每个点的函数值,然后使用`contourf()`函数绘制等值线图,并使用`colorbar`函数添加颜色条。