回答问题

我正在尝试绘制一些数组的颜色,并将一些值转换为 np.nan (以便于解释)并在绘制时期望不同的颜色(白色?),而不是导致绘图和颜色条出现问题。

#this is before converted to nan
array = np.random.rand(4,10)
plt.pcolor(array)
plt.colorbar(orientation='horizontal')                

正常结果

#conditional value converted to nan
array = np.random.rand(4,10)
array[array<0.5]=np.nan
plt.pcolor(array)
plt.colorbar(orientation='horizontal')                

条件结果

有什么建议吗?

Answers

解决方案之一是绘制掩码数组,如下所示:

import matplotlib.pylab as plt
import numpy as np

#conditional value converted to nan
array = np.random.rand(4,10)
array[array<0.5]=np.nan
m = np.ma.masked_where(np.isnan(array),array)
plt.pcolor(m)
plt.colorbar(orientation='horizontal')       
plt.show()

在此处输入图像描述

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐