docs: def save_graph(self, fname, style='flat', format='png', **kwargs):  # @ReservedAssignment @IgnorePep8
          """
          Saves a graph of the pipeline to file
  
          Parameters
          ----------
          fname : str
              The filename for the saved graph
          style : str
              The style of the graph, can be one of can be one of
              'orig', 'flat', 'exec', 'hierarchical'
          plot : bool
              Whether to load and plot the graph after it has been written
          """
          fname = os.path.expanduser(fname)
          if not fname.endswith('.png'):
              fname += '.png'
          orig_dir = os.getcwd()
          tmpdir = tempfile.mkdtemp()
          os.chdir(tmpdir)
          workflow = self._workflow
          workflow.write_graph(graph2use=style, format=format, **kwargs)
          os.chdir(orig_dir)
          try:
              shutil.move(os.path.join(tmpdir, 'graph_detailed.{}'
                                       .format(format)), fname)
          except IOError as e:
              if e.errno == errno.ENOENT:
                  shutil.move(os.path.join(tmpdir, 'graph.{}'.format(format)),
                              fname)
              else:
                  raise
          shutil.rmtree(tmpdir)