我想知道是否有办法在Python中绘制数据立方体.我的意思是每个点都有三个坐标
x=part.points[:,0]
y=part.points[:,1]
z=part.points[:,2]
Run Code Online (Sandbox Code Playgroud)
对于每一点,我都有一个标量场t(x,y,z)
我想绘制一个3D数据立方体,显示该点的位置,并为每个点绘制一个颜色,该颜色与该点的标量场t成比例.
我尝试使用histogramdd,但它没有用.
joa*_*uin 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()
Run Code Online (Sandbox Code Playgroud)

您可能必须自定义标量值与相应颜色的关系.
Matplotlib有一个非常漂亮的外观,但是当你有很多点时,它可能会慢速绘制和移动这些3D绘图.在这些情况下,我曾经使用gnuplot.py控制的Gnuplot.Gnuplot也可以直接用作子进程,如此处和此处所示.
| 归档时间: |
|
| 查看次数: |
4016 次 |
| 最近记录: |