Axes3D.plot_surface(X,Y,Z)插值数据?

时间:2019-01-10 11:29:49

标签: python python-3.x matplotlib

我有一个传感器单元,可以在特定的时间间隔(迹线)给我信号强度,距离为w.r.t。我想绘制一个表面图,其中X轴对应于迹线号,Y轴对应于距离,而Z轴对应于该点的信号强度。

我正在使用Axes3D.plot_surface(X, Y, Z)来绘制表面图和gnuplot2彩色图,但是我观察到程序正在“迹线”之间插入缺少的数据点。例如,在附加的图像enter image description here中,强度信息仅针对迹线号(左下轴)0、1、2、3和4出现,但是它使用某种线性插值连接数据点,从而使其看起来好像那里有数据样本,该怎么办才能删除它。

此外,如果您观察到信号的峰值上升到200-250个单位,但是彩条刻度被映射为最大值100,我该怎么做才能对此进行纠正。

我在这里复制代码的相关部分:

x = np.arange(location_start,location_end,1)
y = np.arange(0,n_max,1)
Z = np.array(Z)

X, Y = np.meshgrid(x,y)

fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X,Y,Z, cmap=cm.gnuplot,linewidth=0)
fig.colorbar(surf, shrink=0.9, aspect=5)
plt.show()

0 个答案:

没有答案