0
minr=min(r_s)
maxr=max(r_s)
mini=min(i_s)
maxi=max(i_s)

xi=np.arange(minr,maxr, 0.1)
yi=np.arange(mini,maxi, 0.1)

zi=mlab.griddata(r_s, i_s, r_z, xi, yi, interp='linear')

plt.rcParams['contour.negative_linestyle'] = 'dashed'
CS=plt.contour(xi,yi,zi,50, linewidths =2.0)

plt.clabel(CS, inline=1, fontsize=10)
CS = plt.contourf(xi,yi,zi,15,cmap=plt.cm.rainbow)
plt.colorbar()

plt.xlabel('RS')
plt.ylabel('IS') 
plt.show()
print ("END")

上面的代码是为了显示一个分散的 3D 点 r_s、i_s、r_z 的等高线图。我能够绘制等高线图/线,但只显示正等高线。我错过了什么吗?我想显示许多等高线,包括负数。

数据变化如下: r_s:从 -7 到 2.0,步长为 0.1 i_s:从 -3 到 15,步长为 0.1 r_z:从 -1100 到 400 随机

4

1 回答 1

0

我能够找到解决问题的方法。代码很好。问题出在数据上。事实上,一些数据点(几个点)高于 10^6,这迫使等高线图不显示负点(约 -1000)。修复数据后,我能够使用上述代码绘制包括负等高线在内的等高线。

于 2016-10-03T14:09:35.267 回答