标准化4d图形中的面色值

我已经在这个问题上停留了一段时间,所以我在这里寻求帮助。

我正在尝试可视化4维数据:x,y,z坐标以及测量值v。 v值已在3d空间中的图纸上进行了测量,我想使用表面绘图功能和facecolors对其进行可视化。 但是,在绘制图形时,颜色与数据的正确归一化值不同。我想我在运行曲面图之前缺少一些颜色的归一化。

我在此站点上找到的帖子与3d图形中z数据的着色有关。

我发现的第二个错误是ylist有2个条目,但我只能看到一个统一的图层,而没有看到两个不同的值。当在ylist中添加更多数据点时,此问题似乎消失了。

感谢您的帮助!

我当前运行的代码如下:

import numpy as np
import matplotlib.pyplot as plt
from numpy import ma
import matplotlib        as mpl
from matplotlib import ticker,cm
from mpl_toolkits.mplot3d import Axes3D;
from scipy import interpolate

plt.interactive(True);
xlist = [100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600]
ylist = [500,600]
X,Y = np.meshgrid(xlist,ylist)

A =[[9.72,9.65,10.2,9.6,10.46,9.54,9.41,9.53,10.02,9.36,9.51,9.56,9.89,10.47,11.5],[9.87,10.16,10.22,10.17,10.09,10.15,10.7,10.18,9.96,10.25,10.27,9.72,10.87,11.52,11.79]] 
B = [[10.3,9.93,10.24,10.1,10.8,9.81,10.12,10.4,10.74,10.98,11.27,11.69],[10.3,10.63,10.48,10.57,10.72,10.64,10.71,10.93,11.,10.53,10.51,10.73,10.96,10.82,11.08,12.08]]
C = [[10.2,10.26,10.37,10.32,10.3,10.29,10.61,11.02,11.31,11.55,12.04],10.6,10.95,10.97,11.05,11.11,11.28,11.14,11.1,11.34,11.8,12.23]]
Z= np.zeros_like(X)

A -= np.min(A); A /= np.max(A);
B -= np.min(B); B /= np.max(B);
C -= np.min(C); C /= np.max(C);

fig = plt.figure()

norm = mpl.colors.Normalize(vmin = 0.,vmax = 12.23)

ax = fig.gca(projection='3d');
a=ax.plot_surface(X,Y,Z+10,rstride=1,cstride=1,norm =norm,facecolors = cm.jet(A),shade=False); #aanmaken van surface op afstand z met x,y coordinaat en de waarde van V op dit (x,y,z) punt
b=ax.plot_surface(X,Z+15,shade=False);
b=ax.plot_surface(X,Z+20,shade=False);

cmap = plt.get_cmap('jet',30)
sm = plt.cm.ScalarMappable(cmap=cmap,norm=norm)
sm.set_array([])
plt.colorbar(sm,ticks=np.linspace(0,12.23,12.23),boundaries=np.arange(0,.1))#plt.zlabel('z (mm)')

print(A)

plt.xlabel('x (mm)')
plt.ylabel('y (mm)')
plt.show()


resulting graph

zhaojun730730 回答:标准化4d图形中的面色值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3143825.html

大家都在问