I think the biggest problem here is that you have very few data points.
Have you tried looking at the various options on this page:
In 2 minutes I cooked this together without any care or thought, so I'm sure you can make something even better suited to your data:
% your data
X1=[12 13 22 14 15 22];
X2=[11 12 29 0 14 31];
Y=[X1(:) X2(:)]; % I changed this to be Mx2
figure
subplot(1,2,1)
plot(Y(:,1),Y(:,2),'ko') % plot the original data
axis([min(Y(:,1))-3 max(Y(:,1))+3 min(Y(:,2))-3 max(Y(:,2))+3])
Z = linkage(Y); % see: https://uk.mathworks.com/help/stats/linkage.html
T = cluster(Z,'cutoff',15,'Criterion','distance'); % see: https://uk.mathworks.com/help/stats/cluster.html
subplot(1,2,2)
gscatter(Y(:,1),Y(:,2),T) % plot the clustered data
axis([min(X1(:))-3 max(X1(:))+3 min(X2(:))-3 max(X2(:))+3])
Hope this helps,
M.