2016-08-16 50 views
0

我有下面的代码:Pcolorfast图像/阵列旋转

fig, ax = pyplot.subplots() 
graph = ax.pcolorfast(data, cmap='viridis', vmin = min, vmax = max) 
pyplot.colorbar(graph) 
pyplot.show() 

,并绘制我想要的东西,但它是横盘整理。是否有旋转-90或270度的好方法?我试过a.T,它返回原始图。我也试过ndimage.rotate(graph, -90|270),ndimage.interpolation.rotate(graph, -90|270)numpy.rot90(data,3)。对于无效旋转平面的前两个返回错误,第二个出现将图形从边缘推开,失去了大部分数据点。

如果有人有一些想法,我会非常感激。即使这是我提出错误的论点。我在这里不知所措。

+0

也许它会更容易知道*为什么*你想旋转它,或者你期望得到什么。我认为改变数据和/或轴比完成的图更容易。正如@Kristof在他们的回答中所说,转置在这里完美运作。 – Luis

回答

0

a应该等于data在你的例子中?尝试用随机二维数组代码您的代码,并且np.transpose(a)以及a.T似乎正确地旋转图形,而不是您在此处指示的内容('返回原始图形')。如果情况并非如此,我认为我们需要更多信息。

+0

是的,对不起,我在我的问题中使用了'a.T'而不是'data.T',因为那正是我所看到的明智例子。但是,在我的实际代码中,转置完全不会改变剧情。 – SanticL

+0

既然情节是缩放的,我实际上是在寻找一种“热图”类型的东西。问题是,我想看看热量与时间而不是时间与热量(y,x而不是x,y)。我认为'data.T'应该可以工作,但它只是在相同的位置给我回来。这是否更清楚? – SanticL

+0

'data'代表什么?它是二维数组吗?应该是什么时间?我不明白为什么转置不会改变你在这里提供的例子中的一个东西。 您是否尝试过使用完全指定的'pcolorfast(x,y,z)'而不是直接在绘图函数中输入'data'? – Kristof