【问题标题】:matplotlib trisurf slow while moving graphmatplotlib trisurf 在移动图形时很慢
【发布时间】:2014-03-08 01:21:51
【问题描述】:

总共 4186 个数据点。

这是我的电脑配置。移动图非常慢。用类似数据的矩阵绘制曲面图的任何更快的方法?谢谢。

我的电脑还不错。磁盘是三星SSD EVO 840 500g

按照 mrcl 的建议使用 mayavi2 冲浪图,我的代码如下:

import pandas as pd
a = pd.read_csv('result.csv')
import numpy as np
from mayavi import mlab
x,y,z = a.fast.values, a.slow.values, a.profit.values
mlab.points3d(x,y,z)
mlab.show()

【问题讨论】:

  • matplotlib 对于 3D 绘图可能非常慢。您应该尝试使用 mayavi。这是一个包含大量示例的链接。 docs.enthought.com/mayavi/mayavi/auto/examples.html
  • 试过了,不知道如何使用mayavi2的独立程序,而不是脚本。在我看来,它只需要 vtk 格式而不是 csv。而且我对VTK一无所知。
  • 我不知道你认为你可以在独立界面上加载一个csv文件!我认为您必须将数据加载到 numpy 数组中并使用 surf 命令绘制数据。我给你举个例子。
  • 谢谢,我试过了,这是我通过使用与 surf 相同的数据得到的结果:(

标签: python linux matplotlib data-visualization


【解决方案1】:

如何在 mayavi 中使用冲浪绘图的示例。

import numpy
from mayavi.mlab import *

def f(x, y):
    sin, cos = numpy.sin, numpy.cos
    return sin(x + y) + sin(2 * x - y) + cos(3 * x + 4 * y)

x, y = numpy.mgrid[-7.:7.05:0.1, -5.:5.05:0.05]
s = surf(x, y, f(x,y))
#cs = contour_surf(x, y, f, contour_z=0)
show()

干杯

【讨论】:

  • 谢谢,但是如果 z 不是函数,所有 3 个维度都是数据点怎么办?
  • 在这种情况下,您可以使用docs.enthought.com/mayavi/mayavi/auto/…。但这可能有点棘手。我现在看不下去了。希望它能给一些方向。
猜你喜欢
  • 2019-02-13
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 2014-08-24
  • 2012-10-14
  • 2023-04-09
  • 2013-08-01
  • 2020-12-29
相关资源
最近更新 更多