Matplotlib,第3组值作为colorbar的颜色

时间:2014-06-28 08:43:15

标签: python matplotlib

我有 3组值。这就像我有x-y坐标平面,它构成了前两组值。我将平面区域划分为单位大小的小方块或特别是某个大小。然后我有另一个二维数组,其中包含与每个方格或小区域对应的

现在,问题

我可以使用颜色条将2-D数组绘制为颜色点,但x轴和y轴分别如何绘制列和行索引!而不是我想要显示x和y坐标。我尝试了很多搜索并没有得到解决方案。

类似于this。只是我想要一组x-y坐标值而不是显示的行和列值。

请帮忙。如果需要通过评论而不是低估来建议改进。这非常令人沮丧。

修改

按照提供的答案后,我得到了这个 enter image description here

相反,我应该得到这样的数字。当然,轴与上图不同,而不像下面的那样。enter image description here

1 个答案:

答案 0 :(得分:1)

如果您想要链接到imshow示例,但使用不同的坐标轴,则可能需要使用extent的{​​{1}}关键字:

imshow

通过这种方式,您可以创建"像素"其大小正是您想要的:

enter image description here

当然,如果只想使用import numpy as np import matplotlib.pyplot as plt # some random data (10x10) image = np.random.uniform(size=(10, 10)) plt.figure() # draw the pixel image # interpolation='nearest': draw blocky pixels, do not smooth # cmap=pl.cm.gray: use gray scale colormap (autoscale, no vmin or vmax defined # origin='lower': draw first row of the array to the bottom if the image # extent=[-3,3,-10,10]: draw the image so that it covers area (-3,-10)..(3,10) plt.imshow(image, cmap=plt.cm.gray, interpolation='nearest', origin='lower', extent=[-3,3,-10,10]) # this is needed to make the pixels non-square if needed plt.axis('normal') plt.colorbar() plt.show() 或其他内容,您可以在同一个地块上绘制更多信息。

这里的plot是标量数组,着色由image定义,但如果你想进行更高级的着色,它也可能是RGB或RGBA值的数组。例如:

How to create colormap of confidence estimates for k-Nearest Neighbor Classification

如果您想在地图中设置透明区域,请将cmap值放入nan