【问题标题】:Plotting graphs in Python [duplicate]用 Python 绘制图形 [重复]
【发布时间】:2013-05-08 15:00:37
【问题描述】:

我正在尝试使用 python 绘制伪彩色图,但它一直在崩溃。有一场火箭舞,但没有更多的事情发生。

import numpy as np
import matplotlib
import pylab as pl

coef = np.load('corrcoef.npz') #22277 x 22277

pl.pcolor(coef)
pl.colorbar()
pl.show()

它为较小的矩阵绘制图形。它在其他计算机上运行良好,所以我不确定这是我的错还是计算机的错。它是具有 8Gb 内存的 mac。当我尝试在具有相同数量 ram 的 Linux 机器上运行它时,我得到了 MemoryError

【问题讨论】:

  • 如果那是uint8_t 的矩阵,它仍然会超过 470MB。 pylab 抱怨我并不感到惊讶。如果您只想看图,请尝试将其直接保存到文件(不使用 show)。
  • 我试过了,但我还是得到了没有输出的跳舞火箭
  • 我怀疑你是否需要所有这些数据——最终的数字肯定不是 4 千兆像素。对其进行预处理。
  • 你不是已经问过this question了吗?

标签: python matplotlib


【解决方案1】:

由于硬件和大脑的物理限制,您无法像分析小型数据集一样分析大型数据集,因此有必要重新考虑一下您的流程。

您说您需要绘制 22,300 x 22,300 阵列的每个像素,但没有屏幕会显示这一点,而且您的神经系统无论如何也无法接收所有内容。假设您的神经系统需要 0.01 秒来观察每个像素(这可能被低估了),那么您需要 57 天才能按照您建议的方式观察这些数据。

相反,请考虑一下您想了解数据的哪些方面,并找到一种方法来解决这个问题,而无需绘制整个事情。执行此操作的一些简单示例是平均相邻单元格,或寻找极值(最大值和最小值)等。在 100x100 网格上执行此操作将使您的最终绘图为 223x223,这很容易管理。

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2023-03-27
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多