如何在python中绘制数据立方体

Bri*_*ian 2 python plot cube

我想知道是否有办法在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也可以直接用作子进程,如此此处所示.