2013-05-14 2 views
1

Я пытаюсь построить псевдоцветный график с питоном, но он продолжает сбой. Существует ракетный танец, но больше ничего не происходит.Графики графиков в 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 Рама. Когда я пытаюсь запустить его на Linux-машине с одинаковым количеством бара, я получаю MemoryError

+0

Если бы это была матрица 'uint8_t', она все равно была бы более 470 МБ. Я не удивлен, что «pylab» жалуется. Попробуйте сохранить его прямо в файл (не используя шоу), если вы просто хотите увидеть фигуру. – sapi

+0

Как это сделать? – user1663930

+0

Посмотрите на [этот вопрос] (http://stackoverflow.com/questions/15713279/calling-pylab-savefig-without-display-in-ipython) – sapi

ответ

2

Из-за физических ограничений как вашего оборудования, так и вашего мозга вы не можете анализировать большие наборы данных точно так же, как и маленькие , поэтому необходимо немного переосмыслить свой процесс.

Вы говорите, что вам нужно построить каждый пиксель массива 22,300 x 22,300, но ни один экран не покажет это, и ваша нервная система никогда не сможет принять всех в любом случае. Скажите, что ваша нервная система занимает 0.01 секунды, чтобы наблюдать за каждым пикселем (что, вероятно, недооценивается), вам потребуется 57 дней, чтобы понаблюдать за этими данными так, как вам кажется.

Вместо этого подумайте о том, что вы хотите знать о данных, и найдите способ получить это, не строгая всю вещь. Некоторые простые примеры того, как это сделать, состоят в том, чтобы усреднить соседние ячейки или искать экстремумы (max и min) и т. Д. Выполнение этой сетки размером более 100x100 сделает ваш окончательный участок 223x223, который легко управляем.

Смежные вопросы