The following codes can find all connected subgraphs.
g = graphs.CubeGraph(2)
subgraphs = list(g.connected_subgraph_iterator())
G=graphics_array([[v.plot() for v in subgraphs]],3,5)
G.show(axes=False, frame=False, figsize=5)
We will notice that there is an image missing an edge (due to the non-unique nature of iteration order, in my execution, it is the 6th one, and its image should have one edge instead of two isolated vertices).
The previous images might appear confusing because they are not separated by borders. I'm not know how to uniformly add nice borders to them (which is also the question I've been wanting to ask), otherwise, it would make the above issue more clear. The following images have been processed by me using Inkscape. We can clearly see that the 6th image is missing an edge.
subgraphs[5].edges(sort=true,labels=False) # output: [('00', '01')]