我想知道是否有一种方法可以在Python中绘制数据立方体。我的意思是对于每个点,我有三个坐标。
x=part.points[:,0]
y=part.points[:,1]
z=part.points[:,2]
对于每个点,我都有一个标量场 t(x,y,z)。
我想绘制一个三维数据立方体,显示点的位置并为每个点显示一种颜色,该颜色与该点中的标量场 t 成比例。
我尝试使用 histogramdd,但它没有起作用。
我想知道是否有一种方法可以在Python中绘制数据立方体。我的意思是对于每个点,我有三个坐标。
x=part.points[:,0]
y=part.points[:,1]
z=part.points[:,2]
对于每个点,我都有一个标量场 t(x,y,z)。
我想绘制一个三维数据立方体,显示点的位置并为每个点显示一种颜色,该颜色与该点中的标量场 t 成比例。
我尝试使用 histogramdd,但它没有起作用。
import random
from matplotlib import pyplot
from mpl_toolkits.mplot3d import Axes3D
mypoints = []
for _ in range(100):
mypoints.append([random.random(), #x
random.random(), #y
random.random(), #z
random.randint(10,100)]) #scalar
data = zip(*mypoints) # use list(zip(*mypoints)) with py3k
fig = pyplot.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data[0], data[1], data[2], c=data[3])
pyplot.show()
你可能需要自定义标量值与相应颜色之间的关系。Matplotlib 的外观很好,但是当你有许多点时绘制和移动这些 3D 绘图可能会很慢。在这种情况下,我经常使用由 Gnuplot 控制的 gnuplot.py。如此处和此处所示,也可以直接将 Gnuplot 用作子进程。