Plotting a projection of a 3D system
Since matplotlib's treatment of 3D systems is very basic, it may be useful to plot projections of 3D systems on 2D planes. My personal stumbling point was bilayer graphene, which is almost 2D, and a 2D plot would be quite sufficient for it. We could allow the user to use pos_transform=(lamda pos: pos[:2])
or more sophisticated projections to generate 2D site coordinates, however right now the inference of the plot dimensionality occurs before transforming the coordinates, and therefore pos_transform=(lamda pos: pos[:2])
results in an error. It should be simple to apply the transform before plotting the system.