我正在使用python,我遇到以下问题:
我的数据是由3D点组成的,实际上可以制作简单的散点图。因此,我必须将数据“bin”到网格中。
我是通过使用3D直方图制作的(我还有其他优势可以使用3D直方图):
import numpy as np
"""Where x,y,z are given and binx,biny,binz are calculated some steps before"""
values = np.column_stack((x,y,z))
H, edges = np.histogramdd(values, bins=(binx,biny,binz))
因此现在我有一个带有尺寸的“矩阵”H(binx,biny,binz)。我把它想象成二维直方图的切片,它们以z-dircetion堆叠(并且数量是binz)。
所以我可以用Axes3D将它们绘制成一个3D立方体,沿着z轴有一个单独的2D直方图。这样的事情:3D-Stacked 2D histograms in matplotlib pyplot。
但是我知道我想用这些切片制作一个完整的3D图形。
我考虑过两种方式:
但我连一个都做不到!我可以做很多类似的任务,但没有什么能真正拍摄3D直方图并制作出我想要的情节。
答案 0 :(得分:0)
您是否看过matplotlib的3D绘图功能?
以下是一个示例:http://matplotlib.org/examples/mplot3d/scatter3d_demo.html