【问题标题】:Matplotlib throws memory error when trying to meshgrid on big arraysMatplotlib 在尝试对大数组进行网格划分时抛出内存错误
【发布时间】:2018-10-21 00:45:43
【问题描述】:

我正在尝试使用 Matplotlib 中的以下代码从 xy 数组中创建一个矩形网格。我的nx = 12720ny = 10117

from matplotlib.path import Path
nx, ny = range_samples, azimuth_lines  # 12720, 10117
x, y = np.meshgrid(np.arange(nx), np.arange(ny)). # MEMORY ERROR
x, y = x.flatten(), y.flatten()
points = np.vstack((x, y)).T
import ipdb
ipdb.set_trace()
path = Path(sar_ver)
grid = path.contains_points(points)

我可以使用任何其他库来执行此操作吗?任何修复它的想法都将非常感激!

【问题讨论】:

  • 您是否从meshgrid 行收到内存错误?我对此表示怀疑。
  • 是的,来自网格。
  • 你有多少内存?我认为这个网格应该会产生大约 1 GB 的内存。

标签: python python-2.7 numpy matplotlib


【解决方案1】:

实际上,通过杀死繁重的运行进程来修复它。有一个进程正在使用大量内存。这与 Matplotlib 无关。如果我必须删除这个问题,请告诉我。这对我来说有点傻!

【讨论】:

  • 不,您不必删除它,但您可以根据需要删除它。考虑一下这是否以及如何对未来的读者有用。如果你得出的结论是未来的读者不会犯这种愚蠢的错误,你可以删除它。否则,您可以编辑问题和答案,以包含有关问题所在以及您最初无法解决问题的原因的更多详细信息。使用可以让人们在类似情况下通过搜索找到此内容的词。
猜你喜欢
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多