ax.contourf举例
时间: 2023-09-22 11:06:38 浏览: 85
当你想要绘制一个二元函数 $f(x, y) = \sin(x) + \cos(y)$ 的等高线填充图时,可以使用ax.contourf()函数。以下是一个例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.linspace(-np.pi, np.pi, 100)
y = np.linspace(-np.pi, np.pi, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) + np.cos(Y)
# 绘图
fig, ax = plt.subplots()
contour = ax.contourf(X, Y, Z, cmap='coolwarm')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_title('Contour plot of f(x,y)=sin(x)+cos(y)')
plt.colorbar(contour)
plt.show()
```
在这个例子中,我们首先生成了横纵坐标的网格,然后计算出每个网格的高度(或函数值),存储在Z中。我们使用ax.contourf()函数将X、Y、Z作为参数传入,绘制了等高线填充图。我们还使用cmap参数指定了颜色映射为'coolwarm',并使用colorbar()函数添加了颜色条。最后,我们添加了x、y轴标签和标题,并显示了图形。
相关问题
cf = ax.contourf(X, Y, T, clevs_t, cmap=plt.cm.coolwarm)在python里表示什么
在 Python 中,cf = ax.contourf(X, Y, T, clevs_t, cmap=plt.cm.coolwarm) 表示在 matplotlib 库中创建一个二维等高线填充图。其中,X 和 Y 是二维网格数据的坐标,T 是 Z 值,即 Z = f(X,Y) 的值,clevs_t 是等高线的值,cmap=plt.cm.coolwarm 是填充颜色的颜色映射。
具体来说,ax.contourf() 函数会根据输入的 X、Y、T、clevs_t 等参数创建二维等高线图,并用 cmap=plt.cm.coolwarm 指定填充颜色的颜色映射。其中,X、Y、T 的数据可以通过 numpy 库中的 meshgrid 函数生成,clevs_t 可以是一个包含等高线值的列表。函数返回值 cf 是一个 QuadContourSet 对象,可以用于设置等高线填充图的一些属性,例如透明度、坐标轴范围等。
ax = plt.subplot(projection='polar') ax.set_theta_zero_location("N") ax.set_theta_direction('clockwise') pos = ax.contourf(theta, r, dt.to_numpy(), cmap='gray') plt.colorbar(pos, ax=ax) plt.show() 换个颜色让他显示清楚
可以通过修改 `cmap` 参数来更改热图的颜色映射。例如,将 `cmap` 参数改为 `'coolwarm'` 可以使用蓝色和红色的颜色映射来显示数据:
```
ax = plt.subplot(projection='polar')
ax.set_theta_zero_location("N")
ax.set_theta_direction('clockwise')
pos = ax.contourf(theta, r, dt.to_numpy(), cmap='coolwarm')
plt.colorbar(pos, ax=ax)
plt.show()
```
你也可以尝试其他的颜色映射,例如 `'viridis'`、`'magma'`、`'plasma'` 等等。