我正在尝试绘制轮廓图(以创建效率图),其中速度与扭矩的关系为效率的第三个变量。
如果我绘制散点图,则会得到以下图像:
我确信我的数据已正确绘制。
但是当我尝试绘制等高线图时(将Z数组更改为2D之后),我得到了具有相同数据的以下结果:
我在做什么错?任何帮助将不胜感激。
我的代码是:
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()
我是一个初学者,所以代码很简单。