phi*_*pos 12 python grid plot colors matplotlib
我一直在这里和网上搜索.我发现了某些我想要的问题/答案,但仍无法达到我想要的目的.
我有一个例如100个值的数组.值在0到100的范围内.我想将此数组绘制为网格,根据数组中的值填充正方形.
到目前为止我找到的解决方案如下:
和
在我提到的例子中,颜色的范围变化并且不固定.
但是,我想知道的是,我是否可以设置特定值和颜色的范围.例如,如果值介于10和20之间,则让网格方块的颜色为红色.否则如果值在20到30之间,则让颜色为蓝色.等等
如何在python中实现这一目标?
umu*_*tto 16
您可以为自定义颜色创建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()
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看此matplotlib示例.
| 归档时间: |
|
| 查看次数: |
21289 次 |
| 最近记录: |