python将数组按数据大小画出格网图,并且将数组中的男nan值显示为黑色
时间: 2023-11-27 17:54:51 浏览: 146
python绘制关系网络图
5星 · 资源好评率100%
可以使用matplotlib库中的imshow函数来实现,具体步骤如下:
1. 导入numpy和matplotlib库
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 生成待显示的数组
```python
arr = np.random.randn(10, 10) # 生成一个10x10的随机数组
arr[3, 5] = np.nan # 将第4行第6列的值设置为nan
```
3. 将nan值替换为0
```python
arr = np.nan_to_num(arr, nan=0)
```
4. 设置颜色映射
```python
cmap = plt.cm.get_cmap('jet') # 使用jet颜色映射
cmap.set_bad(color='black') # 将nan值显示为黑色
```
5. 调用imshow函数绘制格网图
```python
plt.imshow(arr, cmap=cmap)
plt.colorbar() # 添加颜色条
plt.show() # 显示图像
```
完整代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
arr = np.random.randn(10, 10)
arr[3, 5] = np.nan
arr = np.nan_to_num(arr, nan=0)
cmap = plt.cm.get_cmap('jet')
cmap.set_bad(color='black')
plt.imshow(arr, cmap=cmap)
plt.colorbar()
plt.show()
```
阅读全文