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 import pyqtgraph as pg
from pyqtgraph import MultiPlotWidget from pyqtgraph import MultiPlotWidget
try: try:
from metaarray import * from pyqtgraph.metaarray import *
except: except:
print("MultiPlot is only used with MetaArray for now (and you do not have the metaarray package)") print("MultiPlot is only used with MetaArray for now (and you do not have the metaarray package)")
exit() exit()
app = QtGui.QApplication([]) app = QtGui.QApplication([])
mw = QtGui.QMainWindow() mw = QtGui.QMainWindow()
mw.resize(800,800) mw.resize(800,800)
@ -22,7 +22,7 @@ pw = MultiPlotWidget()
mw.setCentralWidget(pw) mw.setCentralWidget(pw)
mw.show() 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) pw.plot(ma)
## Start Qt event loop unless running in interactive mode. ## Start Qt event loop unless running in interactive mode.

View File

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