code: def to_networkx(self):
          
          try:
              from networkx import Graph, set_node_attributes
          except ImportError:
              raise ImportError('You must have networkx installed to export networkx graphs')
  
          result = Graph()
          for row in self._mst:
              result.add_edge(row[0], row[1], weight=row[2])
  
          data_dict = {index: tuple(row) for index, row in enumerate(self._data)}
          set_node_attributes(result, data_dict, 'data')
  
          return result
docs: Return a NetworkX Graph object representing the minimum spanning tree.
  
          Edge weights in the graph are the distance between the nodes they connect.
  
          Nodes have a `data` attribute attached giving the data vector of the
          associated point.