在3d投影上用plt.clim设置间隔色面

2024-10-02 08:26:46 发布

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

我有一些数据,例如:

x = np.linspace(0, 10, 10)
y = np.linspace(20, 50, 30)
z = np.linspace(-10, 5, 15)
data = np.random.rand(10,30,15)

其中数据中的所有元素都有.2f小数,并且数据的最大值和最小值之间的差异很小,因此我需要设置一个inverval来获得数据值的对比度。我会将数据可视化到surfacecolor。我试过这个,但不幸的是,它不起作用:

ax = plt.figure().add_subplot(111,projection ='3d')

for i in range(len(x)):
    surfcol = plt.cm.jet(data[i])
    ax.plot_surface(x[i][:,0:len(data[i])],
                    y[i][:,0:len(data[i])],
                    z[i][:,0:len(data[i])],
                    facecolors=surfcol)
plt.clim(-0.01,0.01)
plt.show()

当我尝试在2d投影上使用pcolormesh时,它确实有效。代码如下所示:

plt.pcolormesh(data)
plt.clim(-0.01,0.01)
plt.show()

我使用plt.clim查看数据值的对比度。 我有麻烦plt.clim()我想可视化一个三维投影,有没有办法解决它


Tags: 数据datalen可视化shownppltrandom

热门问题