如何从矩阵映射轮廓线而无反画线?

时间:2019-01-31 18:47:39

标签: python dataframe matplotlib matrix contourf

我想从数据框的矩阵24x20创建一个contourf图,如下所示:

img

我的代码段是:

fig, ax = plt.subplots(nrows=1, ncols=3 , figsize=(20,10))
plt.subplot(131)
xlist = np.linspace(0, 20, 20)
ylist = np.linspace(0, 24, 24)
X, Y = np.meshgrid(xlist, ylist)
plt.contourf(X, Y, df3, cmap="coolwarm" )
plt.gca().invert_yaxis()
plt.axis('off')

问题1 ,我不确定为什么'A'的图反面打印 ,并且我必须基于{{3}使用plt.gca().invert_yaxis() }以便将其反转。我注意到提到了this answer:默认情况下,plt.imshow()遵循标准图像数组定义,其中原点位于左上角,不像大多数轮廓图那样位于左下角 。是这背后的原因还是我做错了什么?

问题2 我想通过画4条白线将矩阵分成8个小矩阵,但是无法使用ax.axvline(x=10, color='w',linewidth=1.5)。 基于In 7,似乎plt.imshow()同样不接受x和y网格,因此它必须手动指定绘图上图像的范围[xmin,xmax,ymin,ymax]。有什么想法可以实现吗?

问题3 使用scipy.interpolate.griddata非网格轮廓使用tricontour()或这种方法进行内插有什么好处就我而言In 7

问题4 ,何时interpolation='nearest'有用?我注意到answer用于查找轮廓

注意.csv文件:here

中提供了具有480个值的矩阵。

预期结果如下图所示: img

0 个答案:

没有答案