我一直在这里和网上搜索。我发现了一些接近我想要的问题/答案,但仍然无法达到我正在寻找的。
例如,我有一个包含100个值的数组。这些值的范围从0到100。我想将这个数组绘制为网格,根据数组中的值填充正方形。
到目前为止,我找到的解决方案如下:
Drawing grid pattern in matplotlib
以及
custom matplotlib plot : chess board like table with colored cells
在我提到的例子中,颜色的范围是变化的,不是固定的。
然而,我想知道的是,我是否可以设置特定值和颜色的范围。例如,如果值在10和20之间,让网格的颜色是红色。否则,如果值在20和30之间,让颜色是蓝色。等等。
这在python中是如何实现的呢?
3条答案
按热度按时间yqhsw0fo1#
您可以为自定义颜色创建ListedColormap,并使用颜色BoundaryNorms设置阈值。
导致;
要了解更多信息,您可以查看此matplotlib example。
wbgh16ku2#
这取决于你需要你的颜色使用什么单位,但是只要一个简单的if语句就可以了。
只需将元组转换为您需要的任何单位,例如RGBA(..),然后您就可以实现您已经找到的方法来实现网格。
bvpmtnay3#
根据@ umotomo的回答,还有一个更复杂的版本:
例如,如果您要绘制二进制矩阵
plot_colored_grid(np.array([[True, False], [False, True]]))
,则将得出:另一个例子:
这将导致: