这个问题是我之前提出的问题的延伸,你可以在这里找到:
How to plot a data cube in python
问题是我有一个点的3D图,但如果我按照前一个问题的方法,当我有太多的点来绘制时,我可能会出现溢出错误。 我必须绘制数百万个点,所以我需要平滑3D分布,否则制作绘图需要花费大量时间,我也可能会出现内存错误。
我在想,也许我可以使用高斯内核对分布进行卷积,但我不知道它是否是最好的选择。而且,我还没能做到。
答案 0 :(得分:0)
正如我在原始问题中回答的那样,Dots情节对你有好处。它由MathGL - GPL绘图库生成。如果以位图格式(PNG,JPEG,GIF等)保存,则添加它不需要很多内存。
但是,还有另一种选择可以平滑自己: (i)制作点分布的直方图(即某些单元格内的平均点值或颜色) - 在帧MathGL中,即使对于3D空间中的点,也可以使用Hist()函数;要么 (ii)使用标准平滑函数(如MathGL中的mglData :: Smooth()),但在这里你需要使用常规数组,即{x [i,j,k],y [i,j,k],z [i,j,k],c [i,j,k]}。
两种变体都会为您提供常规数组,可以通过一组不同的方式进行绘制 - 请参阅这些samples。