我想从数据框的矩阵24x20创建一个contourf
图,如下所示:
我的代码段是:
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
预期结果如下图所示: