I have 6 vectors which I want to plot. How I can make each plot with different color (random)? With the code below, the plot limited to one color for all six vectors.
plot(x,y,'-rs','LineWidth',1,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',5);
How I can make each plot with different color (random)? With the code below, the plot limited to one color for all six vectors. plot(x,y,'-rs','LineWidth',1,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',5); matlab.
You can change the color scheme by specifying a colormap. Colormaps are three-column arrays containing RGB triplets in which each row defines a distinct color. For example, here is a surface plot with the default color scheme. f = figure; surf(peaks);
scatter( x , y , sz , c ) specifies the circle colors. You can specify one color for all the circles, or you can vary the color. For example, you can plot all red circles by specifying c as "red" .
You can have PLOT automatically choose line colors for you. If all 6 of your vectors are the same length, you can put the x and y coordinates into N-by-6 matrices X
and Y
and pass these to PLOT. A different color will be used for each column:
plot(X,Y,'-s'); %# Plots lines with square markers
You could also use some of the built-in colormaps to generate a set of colors, then use these when you plot each line separately. For example:
cmap = hsv(6); %# Creates a 6-by-3 set of colors from the HSV colormap for i = 1:6 %# Loop 6 times plot(X(:,i),Y(:,i),'-s','Color',cmap(i,:)); %# Plot each column with a %# different color end
To create a random color map, you could do the following
myMap = rand(nbColors, 3); for i = 1:nbColors plot(X(:,i),Y(:,i),'-s','Color',myMap(i,:)); end
However, as I stated in my comment to gnovice's answer, picking colors out of a colormap generally provides much more readable color combinations.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With