dol*_*sen 9 python matplotlib mayavi
我一直在使用Mayavi进行3D绘图,我可以绘制我想要的散点图,但似乎无法让Axes看起来合适.我发现以下的问题开始得到我所追求的内容,但没有详细说明.我想要一个像#1这样的3D散点图,但是看起来很漂亮的轴像#2(我已经嵌入了,但我没有足够的声誉).常规的Mayavi Axes不会削减它.获得Matplotlib有飞机的任何提示?
一旦我们掌握了“窍门”,这实际上是非常简单的,而且我已经做过很多次了。
“技巧”是首先生成 mayavi 图,然后将其传输到 matplotlib 窗口中,您可以在其中使用所有熟悉的 matplotlib 工具来制作带有数字、日期、箭头或 matplotlib 提供的其他部分的轴。在此代码示例中,我将把 mayavi 'copper spheres' 示例放入 matplotlib 轴集中:
import numpy, pylab, mayavi, mayavi.mlab
import matplotlib.pyplot as plt
t = numpy.linspace(0, 4 * numpy.pi, 20)
cos,sin = numpy.cos, numpy.sin
x = sin(2 * t)
y = cos(t)
z = cos(2 * t)
s = 2 + sin(t)
mayavi.mlab.points3d(x, y, z, s, colormap="copper", scale_factor=.25)
arr = mayavi.mlab.screenshot()
fig = plt.figure(figsize=(5, 5))
pylab.imshow(arr)
plt.show()Run Code Online (Sandbox Code Playgroud)
结果只是 matplotlib 轴集中的 mayavi 图:

唯一棘手的部分是,如果您想要生成超过一两个手动构建的绘图,您需要建立有关 mayavi 和 matplotlib 的比例和尺寸的实用知识,以使两者一起缩放。这不是微不足道的,但对于 Mayavi 和 Matplotlib 来说都有相当详细的记录,并且从你都知道的事情的声音来看,所以我不会重复这些要点。(既然东西已经在 Matplotlib 中,您也可以将它们作为生成的 PDF 的一部分,或者使用 python-docx 将它们移植到 Microsoft Word 中)
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |