表面着色不正确

2024-04-26 03:58:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试使用以下代码创建激光能量输出的曲面图:

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)

任何建议都很好。谢谢。你知道吗


Tags: 数据代码绘图data颜色npfigcm

热门问题