MATLAB: Plot with color variation from third variable

2d plotcolorscatter

Hi, everyone.
My data have three variables which are Time (x-axis), S4 (y-axis) and PRN. I'm trying to plot the data color according to the PRN (refer code) and resulting as photo below. I want to know is it possible to make the data color in one by one color (e.g: Black, and another 30 colors according to total PRN) and not in gradient as below? Or do I need to manually coded each PRN for each color?
I appreciate any help you can provide.
clear
clc
%_______________Read data_______________%
Time=xlsread('Jan-para.xlsx','B:B');
S4=xlsread('Jan-para.xlsx','O:O');
PRN=xlsread('Jan-para.xlsx','C:C');
figure%>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FIGURE starts
scatter(Time,S4,10,PRN,'filled');
colorbar;
title('January 2014');
datetick('x', 'HH');
xlabel('Coordinated Universal Time, UTC (hr)');
ylabel('Amplitude scintillation, S4');
hold all
%_______________PRNall_______________%

Best Answer

Look at gscatter. It allows you to create a scatter plot using the value of a 3rd variable to set the color of you points.