Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

Added ImagePlot, which displays a dataset as an image.

This commit is contained in:
Einar Ryeng 2007-01-17 13:20:04 +00:00
parent 33c51505c4
commit c3c6e85044
2 changed files with 37 additions and 1 deletions

View File

@ -11,7 +11,7 @@ from matplotlib.backend_bases import NavigationToolbar2,cursors
from matplotlib.backends.backend_gtk import FileChooserDialog,cursord from matplotlib.backends.backend_gtk import FileChooserDialog,cursord
from matplotlib.widgets import SubplotTool,RectangleSelector,Lasso from matplotlib.widgets import SubplotTool,RectangleSelector,Lasso
from matplotlib.nxutils import points_inside_poly from matplotlib.nxutils import points_inside_poly
from matplotlib.axes import Subplot from matplotlib.axes import Subplot, AxesImage
from matplotlib.figure import Figure from matplotlib.figure import Figure
from matplotlib import cm,cbook from matplotlib import cm,cbook
from pylab import Polygon from pylab import Polygon
@ -791,6 +791,33 @@ class ScatterPlot(Plot):
self.canvas.draw() self.canvas.draw()
class ImagePlot(Plot):
def __init__(self, dataset, **kw):
self.dataset = dataset
self.keywords = kw
Plot.__init__(self, kw['name'])
self.ax = self.fig.add_subplot(111)
self.ax.set_xticks([])
self.ax.set_yticks([])
self.ax.grid(False)
# FIXME: ax shouldn't be in kw at all
if kw.has_key('ax'):
kw.pop('ax')
# Initial draw
# xim = AxesImage(dataset.asarray(), self.ax)
self.ax.imshow(dataset.asarray(), interpolation='nearest', aspect='auto')
# Add canvas and show
self.add(self.canvas)
self.canvas.show()
def get_toolbar(self):
return self._toolbar
class NetworkPlot(Plot): class NetworkPlot(Plot):
def __init__(self, dataset, **kw): def __init__(self, dataset, **kw):
# Set member variables and call superclass' constructor # Set member variables and call superclass' constructor

View File

@ -29,6 +29,7 @@ class TestWorkflow (workflow.Workflow):
go = workflow.Stage('go', 'Gene Ontology Data') go = workflow.Stage('go', 'Gene Ontology Data')
go.add_function(GODistanceFunction()) go.add_function(GODistanceFunction())
go.add_function(ImagePlotFunction())
self.add_stage(go) self.add_stage(go)
regression = workflow.Stage('regression', 'Regression') regression = workflow.Stage('regression', 'Regression')
@ -97,6 +98,14 @@ class GODistanceFunction(workflow.Function):
return gene_distances return gene_distances
class ImagePlotFunction(workflow.Function):
def __init__(self):
workflow.Function.__init__(self, 'image', 'Show Image')
def run(self, data):
return [plots.ImagePlot(data, name='foo')]
class TestDataFunction(workflow.Function): class TestDataFunction(workflow.Function):
def __init__(self): def __init__(self):
workflow.Function.__init__(self, 'test_data', 'Generate Test Data') workflow.Function.__init__(self, 'test_data', 'Generate Test Data')