У меня есть список (time
), заполненный строками timestamp (H: m: s) и другой (number
) с цифрами. Длина обоих списков одинакова и около 350 000 элементов.Matplotlib xticks MemoryError
Plotting не проблема, все идет хорошо, но проблема возникает при добавлении строки
plt.xticks(range(len(number)), time, rotation=90, size='small')
и мой скрипт не говоря
Traceback (most recent call last):
File "G:\Documents\work\program.py", line 114, in <module>
plt.xticks(range(len(number)), time, rotation=90, size='small')
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 1674, in xticks
locs = ax.set_xticks(args[0])
File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 2850, in set_xticks
ret = self.xaxis.set_ticks(ticks, minor=minor)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1606, in set_ticks
return self.get_major_ticks(len(ticks))
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1294, in get_major_ticks
tick = self._get_tick(major=True)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1675, in _get_tick
return XTick(self.axes, 0, '', major=major, **tick_kw)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 154, in __init__
self.label1 = self._get_text1()
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 372, in _get_text1
horizontalalignment=horiz,
MemoryError
Является ли это на самом деле слишком много для Matplotlib? Или я делаю что-то неправильно? (кроме того, используя Windows)
Что делать, если я увеличить? Я не хочу терять точность. Кроме того, я понимаю, что графический инструмент автоматически показывает только то, что читается на текущем экране, не так ли? – Javier
Добавлена поддержка масштабирования. Теперь попробуйте 1000, 100 и т. Д. В качестве размера шага и посмотрите, все ли работает с масштабированием. –
Как я и предполагал, это не помогло. Мой файл журнала имеет от 95 до 100 - случайная переменная вдоль номеров файлов на метку времени, поэтому, когда я масштабируюсь достаточно глубоко, отметки времени просто не соответствуют номерам, потому что я теряю точность. Другими словами, мне нужно установить размер шага в 1, чтобы получить эту работу. Но это фактически решило проблему MemoryError, поэтому для matplotlib это просто кажется слишком большим. – Javier