You are using the plot command in a way that you wish it worked, without carefully understanding how the syntax actually works. You cannot just put in four columns of data into a command, and hope it does what you want.
Here is some simplified data, and your plotting code:
data = [1 1 4 4;
2 3 5 6;
3 2 6 5];
figure
h = plot(data(:,1),data(:,2), data(:,3), data(:,4),'k.');
set(h,'MarkerSize',16) % Adding this to make the dots more visible
If you carefully read the documentation you will see that your code is plotting two pairs of data against each other: data(:,1) vs. data(:,2), and data(:,3) vs. data(:4). Then you add a 'LineSpec' (black dots) to the second pair of plots, while the first set uses the default, which is a blue line.
This code is functionally equivalent to
data = [1 1 4 4;
2 3 5 6;
3 2 6 5];
figure
hold on
plot(data(:,1),data(:,2)); % First plot, default to blue line connecting points
h = plot(data(:,3), data(:,4),'k.'); % Second plot, using black dots
set(h,'MarkerSize',16)
It's not clear to me what you actually want the plot to be. If you want the projection of the the 4-dimensional data onto 2 dimensions, then I believe you simply ignore the 3rd and 4th dimension, and plot
figure
h = plot(data(:,1),data(:,2),'k.');
set(h,'MarkerSize',16)




