首页 > 解决方案 > 如何使用 matplotlib 绘制这张图片?

问题描述

我想使用网格来实现这一点。但是,我在颜色填充和坐标轴方面遇到了很多问题。我参考了matplotlib官方文档中与此图像非常接近的示例 在此处输入图像描述 (<a href="https://matplotlib.org/gallery/api/image_zcoord. html#sphx-glr-gallery-api-image-zcoord-py" rel="nofollow noreferrer">链接),但还是有点不同。

这是图片 在此处输入图像描述

是我的错,图片太大,很难快速实现。所以我选择了原图的一部分,这里:</p>

在此处输入图像描述

标签: pythonmatplotlib

解决方案


尝试绘制自定义热图。例如

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

cmap = colors.ListedColormap(['cyan','gray','white','yellow'])
bounds=[0, 10, 20, 30, 40]
norm = colors.BoundaryNorm(bounds, cmap.N)

data=np.array([[5,15,5],[25,32,6],[15,31,25]])
heatmap = plt.pcolor(data, cmap=cmap, norm=norm)
plt.show()

0-10之间的值将给出青色10-20将给出灰色,依此类推。因此,使您的数据数组符合要求。

结果 :

热图


推荐阅读