给上述代码添加颜色条的取值范围
时间: 2023-11-22 09:55:26 浏览: 143
要添加颜色条,可以使用 `imshow` 函数的 `cmap` 参数来指定颜色映射。以下是一个带有颜色条的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机二维数组
data = np.random.rand(10, 10)
# 绘制热力图
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='coolwarm')
# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
# 设置颜色条标签
cbar.ax.set_ylabel('Data Range', rotation=-90, va="bottom")
# 显示图形
plt.show()
```
在这个示例中,我们使用 `np.random.rand` 函数生成了一个 $10\times10$ 的随机矩阵作为数据,然后使用 `imshow` 函数绘制热力图,并将 `cmap` 参数设置为 `'coolwarm'`,即使用蓝-白-红的颜色映射。
接下来,我们使用 `ax.figure.colorbar` 函数添加颜色条,并使用 `cbar.ax.set_ylabel` 函数设置颜色条标签。最后,通过调用 `plt.show` 函数显示图形。
如果你想指定颜色条的取值范围,可以使用 `imshow` 函数的 `vmin` 和 `vmax` 参数。例如,如果你想将数据的取值范围限制在 $[0, 1]$,可以将代码修改为:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机二维数组
data = np.random.rand(10, 10)
# 绘制热力图
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='coolwarm', vmin=0, vmax=1)
# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
# 设置颜色条标签
cbar.ax.set_ylabel('Data Range', rotation=-90, va="bottom")
# 显示图形
plt.show()
```
在这个示例中,我们将 `imshow` 函数的 `vmin` 和 `vmax` 参数分别设置为 0 和 1,以限制数据的取值范围。
阅读全文