Contour和Contourf在matplotlib中绘制错误的轮廓线

时间:2018-10-23 15:53:41

标签: python matplotlib contour scatter

我正在尝试绘制轮廓图(以创建效率图),其中速度与扭矩的关系为效率的第三个变量。

如果我绘制散点图,则会得到以下图像:

enter image description here

我确信我的数据已正确绘制。

但是当我尝试绘制等高线图时(将Z数组更改为2D之后),我得到了具有相同数据的以下结果:

enter image description here

我在做什么错?任何帮助将不胜感激。

我的代码是:

import matplotlib.pyplot as plt
import numpy as np
import tables
NUM = 27

app = QtGui.QApplication([])

Xlist = []
Ylist = []
Zlist = []
fileName, _ = QFileDialog.getOpenFileName(None, "QFileDialog.getOpenFileName()", "","HDF files (*.hdf)")
with tables.open_file(fileName,'r') as f:
    fig = plt.figure()
    for i in range(0,NUM):
    REG = np.array(f.root.Map._f_get_child('MAP{}'.format(i)).read()).T
    N = REG['rpm'] 
    M = REG['Mb']  
    Eff = REG['Eff'] 
    Xlist.extend(N)
    Ylist.extend(M)
    Zlist.extend(Eff)
    X = np.array(Xlist)
    Y = np.array(Ylist)
    Z = np.array(Zlist)
Z = np.tile(Zlist, (540,1))
plot2 = plt.contourf(X, Y, Z, cmap='RdYlBu')

cbar1 = fig.colorbar(plot2)
cbar1.set_label ("Efficiency", labelpad=-1)  
plt.tight_layout()
plt.show()

我是一个初学者,所以代码很简单。

0 个答案:

没有答案