Fix imports in MultiPlotWidget and its example.

Merge remote-tracking branch 'termim/develop' into multiplotwidget-fix
This commit is contained in:
Luke Campagnola 2014-01-25 07:30:29 -05:00
commit 21639196d8
2 changed files with 10 additions and 10 deletions

View File

@ -10,11 +10,11 @@ from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
from pyqtgraph import MultiPlotWidget
try:
from metaarray import *
from pyqtgraph.metaarray import *
except:
print("MultiPlot is only used with MetaArray for now (and you do not have the metaarray package)")
exit()
app = QtGui.QApplication([])
mw = QtGui.QMainWindow()
mw.resize(800,800)
@ -22,7 +22,7 @@ pw = MultiPlotWidget()
mw.setCentralWidget(pw)
mw.show()
ma = MetaArray(random.random((3, 1000)), info=[{'name': 'Signal', 'cols': [{'name': 'Col1'}, {'name': 'Col2'}, {'name': 'Col3'}]}, {'name': 'Time', 'vals': linspace(0., 1., 1000)}])
ma = MetaArray(random.random((3, 1000)), info=[{'name': 'Signal', 'cols': [{'name': 'Col1'}, {'name': 'Col2'}, {'name': 'Col3'}]}, {'name': 'Time', 'values': linspace(0., 1., 1000)}])
pw.plot(ma)
## Start Qt event loop unless running in interactive mode.

View File

@ -9,23 +9,23 @@ from numpy import ndarray
from . import GraphicsLayout
try:
from metaarray import *
from ..metaarray import *
HAVE_METAARRAY = True
except:
#raise
HAVE_METAARRAY = False
__all__ = ['MultiPlotItem']
class MultiPlotItem(GraphicsLayout.GraphicsLayout):
"""
Automaticaly generates a grid of plots from a multi-dimensional array
"""
def plot(self, data):
#self.layout.clear()
self.plots = []
if HAVE_METAARRAY and (hasattr(data, 'implements') and data.implements('MetaArray')):
if data.ndim != 2:
raise Exception("MultiPlot currently only accepts 2D MetaArray.")
@ -53,12 +53,12 @@ class MultiPlotItem(GraphicsLayout.GraphicsLayout):
title = info['name']
if 'units' in info:
units = info['units']
pi.setLabel('left', text=title, units=units)
else:
raise Exception("Data type %s not (yet?) supported for MultiPlot." % type(data))
def close(self):
for p in self.plots:
p[0].close()