我想知道是否有办法在Python中绘制数据立方体。我的意思是每个点都有三个坐标
x=part.points[:,0]
y=part.points[:,1]
z=part.points[:,2]
对于每个点我都有一个标量场t(x,y,z)
我想绘制一个3D数据立方体,显示该点的位置,并为每个点绘制一个颜色,该颜色与该点的标量场t成正比。
我尝试使用histogramdd,但它没有用。
答案 0 :(得分:10)
您可以使用matplotlib。 这里有一个有效的例子(移动!):
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也可以直接用作子流程,如here和here所示。
答案 1 :(得分:0)