【发布时间】:2017-02-09 12:01:55
【问题描述】:
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随机
【问题讨论】:
-
您没有提供最小工作示例,因此人们无法运行您的代码
-
@nicoguaro:感谢您的回复。我能够找到解决问题的方法。代码很好。问题出在数据上。事实上,一些数据点高于 10^6,这迫使等高线图不显示负点(约 -1000)。
标签: matplotlib python-3.5 matplotlib.mlab