X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Futil%2Fplotter.py;h=f1c1748e38af27db8630ea877e716f01e04297bd;hb=d5b781271af50ba526332809bc632fe17ef6d5e5;hp=c21f598855fc6afb38441ae7d2b105a2dd6264c0;hpb=6096716dbc88a1d9e6a1be8cac477006225d890e;p=nepi.git diff --git a/src/nepi/util/plotter.py b/src/nepi/util/plotter.py index c21f5988..f1c1748e 100644 --- a/src/nepi/util/plotter.py +++ b/src/nepi/util/plotter.py @@ -25,16 +25,17 @@ class PFormats: FIGURE = "figure" class ECPlotter(object): - def plot(self, ec, fpath = None, format= PFormats.FIGURE, persist = False): + def plot(self, ec, dirpath = None, format= PFormats.FIGURE, + show = False): graph, labels = self._ec2graph(ec) add_extension = False - if persist and not fpath: + if not dirpath: import tempfile dirpath = tempfile.mkdtemp() - fpath = os.path.join(dirpath, "%s_%s" % (ec.exp_id, ec.run_id)) - add_extension = True + + fpath = os.path.join(dirpath, "%s_%s" % (ec.exp_id, ec.run_id)) if format == PFormats.FIGURE: import matplotlib.pyplot as plt @@ -43,23 +44,21 @@ class ECPlotter(object): node_size = 500, with_labels=True) label = "\n".join(map(lambda v: "%s: %s" % (v[0], v[1]), labels.iteritems())) - plt.annotate(label, xy=(0.0, 0.95), xycoords='axes fraction') - - if persist: - if add_extension: - fpath += ".png" + plt.annotate(label, xy=(0.05, 0.95), xycoords='axes fraction') + + fpath += ".png" - plt.savefig(fpath, bbox_inches="tight") - else: + plt.savefig(fpath, bbox_inches="tight") + + if show: plt.show() elif format == PFormats.DOT: - if persist: - if add_extension: - fpath += ".dot" + fpath += ".dot" - networkx.write_dot(graph, fpath) - else: + networkx.write_dot(graph, fpath) + + if show: import subprocess subprocess.call(["dot", "-Tps", fpath, "-o", "%s.ps" % fpath]) subprocess.call(["evince","%s.ps" % fpath])