我想在Python中使用matplotlib在4D中可视化大量的测量结果。目前,我的变量是这样排列的:
x = np.array(range(0, v1))
y = np.array(range(0, v2))
z = np.array(range(0, v3))我有一个C,它是一个3D数组,包含前面变量的每个组合的测量值。所以它的维度是v1*v2*v3。
目前,我使用contourf函数可视化我的测量值,并为每个z值绘制该值。这会产生3D轮廓图,即值的2D +颜色图。现在,我想组合所有变量并查看4D维度的测量值(x、y、z和与测量值对应的颜色)。在python中,最有效的方法是什么?
发布于 2021-03-08 05:49:51
关于@Sameeresque的答案,我想问题是关于这个3D图表的:
import numpy as np
import matplotlib.pyplot as plt
# only for example, use your grid
z = np.linspace(0, 1, 15)
x = np.linspace(0, 1, 15)
y = np.linspace(0, 1, 15)
X, Y, Z = np.meshgrid(x, y, z)
# Your 4dimension, only for example use yours
U = np.exp(-(X/2) ** 2 - (Y/3) ** 2 - Z ** 2)
# Creating figure
fig = plt.figure()
ax = plt.axes(projection="3d")
# Creating plot
ax.scatter3D(X, Y, Z, c=U, alpha=0.7, marker='.')
plt.show()

发布于 2020-10-16 22:15:32
以(x,y,z)为轴,第四个是颜色的四维图可以这样得到:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.array(range(0, 50))
y = np.array(range(0, 50))
z = np.array(range(0, 50))
colors = np.random.standard_normal(len(x))
img = ax.scatter(x, y, z, c=colors, cmap=plt.hot())
fig.colorbar(img)
plt.show()

https://stackoverflow.com/questions/64385676
复制相似问题