我想将现有的线轮廓图重新绘制为填充轮廓图 . 下面的原始图表(电机效率与扭矩和速度的函数):
Contour plot

我没有将每个轮廓数字化为不同长度的文本文件 . 每个文件包含一组(RPM,扭矩)点,对应于单一效率 . 当我使用简单的2D绘图绘制所有文本文件时,我设法重新创建原始的"line-contour"图:
enter image description here

当我尝试对数据进行网格划分并插入数据以获得正确的等高线图时(如here所述),我得到的是锯齿状的输出:
fill_contour

这是我的情节数字化的神器,还是我错误地进行了网格划分?粗略地说,我的代码读入每个数据集并将它们连接成一个大矢量,然后使用三次插值器将矢量网格化为网格 .

for i,eff in enumerate(eff_list): 
    #eff_list = [86,90,94,95,96] (list of files to read)
    file = prefix+"{:d}.csv".format(eff) 
    #"eff_86.csv" for example contains 36 data points that trace its contour
    data =  np.genfromtxt(file, skip_header=6, delimiter=',', dtype=None, usecols=[0,1])

    w = data[:,0] #[RPM]
    T = data[:,1] #[Nm]
    n = eff*np.ones(w.shape) #[%]

    if i==0:
        w_cc = w
        T_cc = T
        n_cc = n
    else:
        w_cc = np.concatenate((w_cc,w),axis=0)
        T_cc = np.concatenate((T_cc,T),axis=0)
        n_cc = np.concatenate((n_cc,n),axis=0)

ni = griddata((w_cc, T_cc), n_cc, (wi[None,:], Ti[:,None]), method='linear') 

CS = plt.contour(wi,Ti,ni,15,linewidths=0.5,colors='k')
CS = plt.contourf(wi,Ti,ni,15,cmap=plt.cm.jet)
plt.colorbar() # draw colorbar