如何使用pcolor(或imshow)绘制以每个X,Y散点为中心的颜色映射的正方形

我有几千个带有X,Y,C值的点(以numpy数组表示)。

我希望每个X,Y点都绘制在2D图像图上,并在其周围带有彩色正方形(大小为40x40单位的盒子)。每个X,Y点应居中于框的中央。盒子的颜色将根据C值进行映射。 X,Y点是相当随机分布的。这些点的排列方式使任何盒子都不会重叠,可能接触或有间隙。

我不是Python专家,所以如果有人可以用几行代码来帮助我着手,我将不胜感激。我相信将需要imshow或pcolor之类的东西。

谢谢

zhng41 回答:如何使用pcolor(或imshow)绘制以每个X,Y散点为中心的颜色映射的正方形

您只需在scatter命令中设置大小和标记类型。

那是我的解决办法:

X = 50 * np.round(10 * np.random.rand(100))
Y = 50 * np.round(10 * np.random.rand(100))
C = np.random.rand(100)

plt.figure(figsize=(12,12))
sc = plt.scatter(X,Y,s=40**2,c=C,marker='s',cmap='gist_rainbow')
plt.scatter(X,s=11**2,c='k')
plt.colorbar(sc)
plt.axis('equal')
plt.show()

输出如下:

Output

希望有帮助!

本文链接:https://www.f2er.com/3146767.html

大家都在问