当其中一个维度具有单个值

时间:2015-07-22 15:06:32

标签: python-2.7 matplotlib

我正在尝试使用以前处理数据矩形的脚本制作二维颜色图。但是,我现在需要使用它来处理x轴上只有一个有数据的点。

我得到的是:

self.fig = plt.figure('Title', (10.,10.))
ax=plt.subplot(111)
im=ax.imshow(color_array,interpolation='none',extent=[100,100,50,150],aspect=0.15)
# setting labels, climate, color bar, saving image, etc..

我确定导致问题的是extent = [100,100,我不确定如何以不同的方式编写代码,以便将情节显示为某些内容除了一个里面没有任何东西的狭窄的垂直矩形。

颜色数组通常是2-d数字数组,但在这种有限的情况下,它基本上是1-d数组。会发生的是,有三个2-d阵列,所有相同的尺寸,其中两个构成x和y轴,第三个(颜色数组)决定了场的颜色。现在它们看起来像这样简化了:

y轴:[[90,100,110,120]]

x轴:[[100,100,100,100]]

颜色:[[10,11,13,14]]

This is what it looks like

1 个答案:

答案 0 :(得分:0)

答案结果非常简单。所需要的只是对范围的简单调整。基本上,只需确保同一轴上的两个值之间的距离大于0。

im=ax.imshow(color_array,interpolation='none',extent[100-1,100+1,50,150],aspect=0.15)

我使用值1来分隔上述内容,但实际上,任何数字都可以使用(如果您希望它们保持一致,您也可以将其缩放到图形的不断变化的尺寸)。

我使用if语句来确保这只发生在轴数组的第一个索引等于最后一个索引的情况下。