График Python для временных рядов

У меня есть проект, который требует графических данных (с Python). rrdtool кажется почти тем, что мне нужно, за исключением того, что он поддерживает разрешение только в 1 секунду, а мои точки данных намного ближе друг к другу.

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

Существует ли другая (надеюсь, относительно простая в использовании) система построения графиков, адаптированная или легко адаптируемая для построения графиков временных рядов? Если нет ничего лучше, чем GNUplot, я начну копаться в этом — я просто хотел убедиться, что мне больше не о чем думать.


person tMC    schedule 14.05.2012    source источник


Ответы (2)


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

Существует также matplotlib, очень популярная библиотека для построения графиков на Python.

person Makoto    schedule 14.05.2012
comment
matplot выглядит многообещающе! PyX, с сайта не выводит файлы изображений? (png, jpg, gif и т. д.)? Я не указывал раньше, но мне нужно будет разместить эти графики в Интернете. - person tMC; 14.05.2012
comment
Я часто использую matplotlib, заходя в их галерею и находя изображение, похожее на то, которое мне нужно. сделать и скопировать код, который они предоставили для создания изображения. - person Andrew; 14.05.2012
comment
tMC: Matplotlib/Pylab выводит png или pdf (и многое другое, в зависимости от бэкенда). pylab.plot(xcoords, ycoords); pylab.savefig('myimage.png'). - person Steve Tjoa; 14.05.2012
comment
@tmc: он обрабатывает файлы PDF и EPS, которые не похожи на PNG, JPEG, GIF. Если вам нужны эти экспортируемые типы, я бы сказал, что лучшим выбором будет matplotlib. - person Makoto; 14.05.2012

Вы не полностью указываете, что ищете, но вот пример быстрого вырезания и вставки, который показывает некоторые возможности построения графиков matplotlib. В примере также сохраняется изображение в формате png и pdf (соответственно растеризованное и векторизованное):

import numpy as np
import pylab as plt

# Create some sample "time-series" data
N = 200
T = np.linspace(0, 5, N)
Y1 = T**2 - T*np.cos(T*5) + np.random.random(N)
Y2 = T**2 - T*np.sin(T*5) + np.random.random(N)

pargs = {"lw":5, "alpha":.6}

plt.plot(T,Y1, 'r',**pargs)
plt.plot(T,Y2, 'b', **pargs)

skip = 30
plt.scatter(T[::skip],Y2[::skip], color='k', s=200, alpha=.6)

plt.xlabel("time")
plt.ylabel("money")
plt.axis('tight')

# Save as a png and a pdf
plt.savefig("example.png")
plt.savefig("example.pdf")

plt.show()

введите здесь описание изображения

person Hooked    schedule 14.05.2012