![](/img/trans.png)
[英]Python plotting: How can I make matplotlib.pyplot stop forcing the style of my markers?
[英]How do I stop matplotlib.pyplot from changing the order of my cmap ListedColormap in Python 3.8.6?
我正在实现用于在二维网格上进行寻路的 A* 算法。 该算法运行良好,但是当使用 matplotlib.pyplot.imshow() 时,表示网格上每个正方形的 colors 有时会发生变化。 我的代码与此一致:
dataout = [
[1,2,2,2,0],
[2,1,4,3,0],
[2,1,3,2,0],
[0,2,1,1,1],
]
pyplot.figure(figsize=(len(dataout[0]), len(dataout)))
colormap = colors.ListedColormap(["lightblue","yellow","blue","black", "lightgreen"])
pyplot.imshow(dataout, cmap=colormap)
pyplot.show()
在此示例中,数据输出矩阵对应于以下图例:
当所有访问的节点都是输出路径的一部分时,就会出现问题(dataout[] 中不会出现 4)。 这会更改 colors 在显示图像时分配的值。
即使 dataout [] 中可能不存在某些颜色值,如何强制 colors 保持一致?
看起来 imshow 在整个数据输出值范围内使用全色 map,因此不同的 colors 取决于数据输出中是否存在 4。 我是这样解决的(将 colors 列表缩放到数据输出值的范围:
colormap = colors.ListedColormap(["lightblue","yellow","blue","black", "lightgreen"][0:np.max(dataout)+1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.