gpt4 book ai didi

Python - 根据值绘制彩色网格

转载 作者:太空狗 更新时间:2023-10-29 17:45:43 25 4
gpt4 key购买 nike

我一直在这里和网上搜索。我以某种方式找到了与我想要的内容接近的问题/答案,但仍然无法找到我正在寻找的内容。

例如,我有一个包含 100 个值的数组。这些值在 0 到 100 的范围内。我想将此数组绘制为网格,根据数组中的值填充正方形。

目前我找到的解决方案如下:

Drawing grid pattern in matplotlib

custom matplotlib plot : chess board like table with colored cells

在我提到的例子中,颜色的范围是变化的而不是固定的。

但是,我想知道的是,我是否可以设置特定值和颜色的范围。例如,如果值在 10 到 20 之间,则让网格正方形的颜色为红色。否则,如果值介于 20 和 30 之间,则颜色为蓝色。等等

这在 python 中如何实现?

最佳答案

您可以创建一个 ListedColormap为您定制颜色和颜色BoundaryNorms对值设置阈值。

import matplotlib.pyplot as plt
from matplotlib import colors
import numpy as np

data = np.random.rand(10, 10) * 20

# create discrete colormap
cmap = colors.ListedColormap(['red', 'blue'])
bounds = [0,10,20]
norm = colors.BoundaryNorm(bounds, cmap.N)

fig, ax = plt.subplots()
ax.imshow(data, cmap=cmap, norm=norm)

# draw gridlines
ax.grid(which='major', axis='both', linestyle='-', color='k', linewidth=2)
ax.set_xticks(np.arange(-.5, 10, 1));
ax.set_yticks(np.arange(-.5, 10, 1));

plt.show()

导致; Plot with BoundaryNorms

更多可以查看这个matplotlib example .

关于Python - 根据值绘制彩色网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43971138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com