Appropriate Clustering Algorithm I need to find a good clustering for this data using sci-kit. 



KNN is not appropriate as it creates blobs although these data are linearly separated. 

import hypertools as hyp
hyp.plot(tocluster,'o', n_clusters=10)
I'd rather not rely on clustering (clearly, DBSCAN would be the first method to try).

Instead, I'd look for a projection that removes the correlation (x - y maybe?), then define a grid to separate the data.