我正在尝试使用以下代码创建激光能量输出的曲面图:
Xx_array = np.array(Xx)
X_data_array = np.array(Zx)
fig = plt.figure(figsize = (14, 6))
ax4 = fig.add_subplot(111, projection = '3d');
surfX = ax4.plot_surface(Xx_array.T, X_fixed_Y_axis, X_data_array.T,
rstride = 1, cstride = 1, antialiased = False,
cmap=cm.coolwarm, linewidth = 0);
fig.colorbar(surfX, shrink=0.5, aspect=4);
唯一的问题是它似乎没有正确地对图表进行颜色编码并使整个事物变红。这显然是不正确的,因为我有另一个图包含非常相似的数据,但颜色正确。我仔细检查了代码以寻找差异,但没有找到。有什么我想念的吗?颜色编码栏也没有正确缩放,并且不符合预期值,也不符合绘图的实际颜色编码。
正常工作的其他数据的代码如下:
Xy_array = np.array(Xy)
Y_data_array = np.array(Zy)
fig = plt.figure(figsize = (14, 6))
ax5 = fig.add_subplot(111, projection = '3d')
surfY = ax5.plot_surface(Xy_array.T, Y_fixed_Y_axis, Y_data_array.T,
rstride = 1, cstride = 1, antialiased = False,
cmap=cm.coolwarm, linewidth = 0);
fig.colorbar(surfY, shrink = 0.5, aspect = 4);
我已尝试手动设置数据以进行缩放,但这会将整个图表发送为蓝色:
m = cm.ScalarMappable(cmap=cm.coolwarm)
m.set_array(X_data_array.T)
任何建议都会很棒。感谢。