def sub_graph(name, attrs = {})
      graph = component SubGraph, [name], attrs
      yield graph if block_given?

      graph
    end
def sub_graph(name, attrs = {})
      graph = component SubGraph, [name], attrs
      yield graph if block_given?

      graph
    end
Creates a new sub-graph
 @param name [String] the name (identifier) of the sub-graph
 @param attrs [Hash{String, Symbol => Object}] the attributes
 to associate with this sub-graph
 @see http://www.graphviz.org/doc/info/attrs.html Node, Edge and Graph Attributes
 @return [SubGraph] the newly created sub-graph