MATLAB: Different coloured markers based on values

MATLABplotting

I have values to be plotted that range from 0 to 0.1 and i would like the markers of the values less than 0.05 be box markers filled in black, while the ones larger than 0.05 only have a highlighted black border. Is there a way without seperating the values into two seperate matrices and plotting them individually?

Best Answer

Use indexing. Create a logical array the same size as your data that identifies values < 0.05.
idx = x < 0.05;
Then you can plot the two populations of data separately.
plot(x(idx), 'ks','MarkerFaceColor', 'k');
hold on
plot(x(~idx), 'ks')