Source code for spike.Display.fakeplot

#!/usr/bin/env python 
# encoding: utf-8


"""
fakeplot.py

This library allows to fake the matplotlib.plot module where it has not been installed.

Created by Marc-André on 2010-03-22.
Copyright (c) 2010 IGBMC. All rights reserved.
"""

from __future__ import print_function

__version__ = "0.2.1"


import sys
import os

current = 0
FAKE = True

[docs]class fake(object): """fake figure object""" def __init__(self, *args, **key): global current current += 1 print("******* figure %d *****"%current)
[docs] def figure(self, *args, **key): return fake(*args, **key)
[docs] def plot(self, *args, **key): x = args[0] label = key.get("label","") plotname = key.get("plot_name","plot") print("-- %s : %d points %s"%(plotname, len(x), label))
[docs] def hist(self, *args, **key): key['plot_name'] = 'histogram' plot(*args, **key) try: return (args[1],args[0],[3,4]) except: return (len(args[0]),args[0],[3,4])
[docs] def errorbar(self, *args, **key): key['plot_name'] = 'errorbar plot' plot(*args, **key)
[docs] def semilogx(self, *args, **key): plot(*args, **key) xscale('log')
[docs] def semilogy(self, *args, **key): plot(*args, **key) yscale('log')
[docs] def loglog(self, *args, **key): plot(*args, **key) xscale('log') yscale('log')
[docs] def contour(self, *args, **key): if len(args) in (1,2): (n,m) = args[0].shape elif len(args) in (3,4): (n,m) = ( len(args[0]), len(args[1])) if (n,m) != args[2].shape: raise "size missmatch in contour" print("-- contour-plot : %d x %d"%(n,m))
contourf = contour
[docs] def yscale(self, *args, **key): print("-- yscale",args)
[docs] def xscale(self, *args, **key): print("-- xscale",args)
[docs] def set_xscale(self, *args, **key): self.xscale(*args, **key)
[docs] def set_yscale(self, *args, **key): self.yscale(*args, **key)
[docs] def text(self, *args, **key): print("-- text :",args)
[docs] def legend(self, *args, **key): pass
[docs] def show(self, *args, **key): print("******** show")
[docs] def xlabel(self, *args, **key): print("-- xlabel :",args[0])
set_xlabel = xlabel
[docs] def ylabel(self, *args, **key): print("-- ylabel :",args[0])
set_ylabel = ylabel
[docs] def title(self, *args, **key): print("-- title :",args[0])
[docs] def set_title(self, *args, **key): self.title(*args, **key)
[docs] def suptitle(self, *args, **key): print("-- suptitle :",args[0])
[docs] def grid(self, *args, **key): if args[0]: print('grid on')
[docs] def add_subplot(self, *args, **key): print("*** subplot :",args[0]) return self
[docs] def set_xticklabels(self, *args, **key): print("-- xtick :",args[0])
[docs] def set_yticklabels(self, *args, **key): print("-- ytick :",args[0])
[docs] def xlim(self, *args, **key): print("-- xlim :",args[0])
[docs] def ylim(self, *args, **key): print("-- ylim :",args[0])
[docs]def figure(*args, **key): return gca().figure(*args, **key)
[docs]def subplot(*args, **key): return gca().add_subplot(*args, **key)
[docs]def plot(*args, **key): return gca().plot(*args, **key)
[docs]def hist(*args, **key): return gca().hist(*args, **key)
[docs]def errorbar(*args, **key): return gca().errorbar(*args, **key)
[docs]def semilogx(*args, **key): return gca().semilogx(*args, **key)
[docs]def semilogy(*args, **key): return gca().semilogy(*args, **key)
[docs]def loglog(*args, **key): return gca().loglog(*args, **key)
[docs]def contour(*args, **key): return gca().contour(*args, **key)
contourf = contour
[docs]def yscale(*args, **key): return gca().yscale(*args, **key)
[docs]def xscale(*args, **key): return gca().xscale(*args, **key)
[docs]def text(*args, **key): return gca().text(*args, **key)
[docs]def legend(*args, **key): return gca().legend(*args, **key)
[docs]def show(*args, **key): return gca().show(*args, **key)
[docs]def xlabel(*args, **key): return gca().xlabel(*args, **key)
[docs]def ylabel(*args, **key): return gca().ylabel(*args, **key)
[docs]def xlim(*args, **key): return gca().xlim(*args, **key)
[docs]def ylim(*args, **key): return gca().ylim(*args, **key)
[docs]def title(*args, **key): return gca().title(*args, **key)
[docs]def suptitle(*args, **key): return gca().suptitle(*args, **key)
[docs]def grid(*args, **key): return gca().grid(*args, **key)
print("-- matplotlib not available, using fake plot instead") print("-- no graphic will be available") gca0 = None
[docs]def gca(): global gca0 if gca0 is None: gca0 = fake() return gca0
if __name__ == '__main__': print("This library creates fake entry methods allowing to fake minimum use of matplotlib.pyplot\neg:") print(""" x=range(10) plot(x) f = figure() f.semilogx(x,label="with label") f.title('title') f.text(10,20,'infigure text') show() produces : """) x=range(10) plot(x) f = figure() f.semilogx(x,label="with label") f.title('title') f.text(10,20,'infigure text') show()