我有几千个带有X,Y,C值的点(以numpy数组表示)。
我希望每个X,Y点都绘制在2D图像图上,并在其周围带有彩色正方形(大小为40x40单位的盒子)。每个X,Y点应居中于框的中央。盒子的颜色将根据C值进行映射。 X,Y点是相当随机分布的。这些点的排列方式使任何盒子都不会重叠,可能接触或有间隙。
我不是Python专家,所以如果有人可以用几行代码来帮助我着手,我将不胜感激。我相信将需要imshow或pcolor之类的东西。
谢谢
我有几千个带有X,Y,C值的点(以numpy数组表示)。
我希望每个X,Y点都绘制在2D图像图上,并在其周围带有彩色正方形(大小为40x40单位的盒子)。每个X,Y点应居中于框的中央。盒子的颜色将根据C值进行映射。 X,Y点是相当随机分布的。这些点的排列方式使任何盒子都不会重叠,可能接触或有间隙。
我不是Python专家,所以如果有人可以用几行代码来帮助我着手,我将不胜感激。我相信将需要imshow或pcolor之类的东西。
谢谢
您只需在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()
输出如下:
希望有帮助!