MATLAB Answers

how to plot 40 different colors in matlab graph

98 ビュー (過去 30 日間)
jaah navi
jaah navi 2019 年 2 月 22 日
コメント済み: Thomas Dixon 2021 年 2 月 1 日 16:56
i am plotting 200 users in a cells.
Among 200 users first five users should be in one color,next five in other color,and so on till i have plotted all 200users.
So totally i need 40 different colors to differentiate them.
I mentioned 8 colors using( 'm','g','y','b','r','c','w','k').How can I represent the rest of 32 colors in graph.
Could anyone please help me on this.

  0 件のコメント

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2021 年 1 月 14 日
jaah:
Try this:
% x and y are your data, in rows of a matrix.
numDataSets = size(x, 1); % For example 200
plotColors = jet(numDataSets/5); % 40 different colors.
for row = 1 : numDataSets
% Extract this particular set of (x,y) coordinates from the whole data set.
thisX = x(row, :);
thisY = y(row, :);
% Now plot just this one.
thisIndex = ceil(row/5);
thisColor = plotColors(thisIndex, :);
plot(thisX, thisY, '-', 'Color', thisColor, 'LineWidth', 2);
hold on; % Leave plots up so we'll see all of them at the end.
end
grid on;
xlabel('x', 'FontSize', 20);
ylabel('y', 'FontSize', 20);
title('Demo by Image Analyst', 'FontSize', 20);

  1 件のコメント

Thomas Dixon
Thomas Dixon 2021 年 2 月 1 日 16:56
Thanks you!!!

サインインしてコメントする。

その他の回答 (1 件)

Rakhi Agarwal
Rakhi Agarwal 2019 年 2 月 22 日
Colors in Matlab plot that you are using are basically RGB triplets. For example
blue b [0,0,1]
black k [0,0,0]
red r [1,0,0]
green g [0,1,0]
white w [1,1,1] etc.
You can define more colors using RGB triplets. You can specify colors using a vector. Usually RGB colors have values from 0 to 255. You can use those numbers and divide the vector by 255 to use within MATLAB. You can put in the RGB triplet (as a vector) directly into the plot command.
Read more about it here:

  12 件のコメント

表示 9 件の古いコメント
Thomas Dixon
Thomas Dixon 2021 年 1 月 13 日
I fail to see how we plot multiple different colours from this? I am looking for something where I can plot some number of lines with different colours on the same plot by hopefully providing a matrix of (nx3) or (3xn) numbers where the 3 is the rgb triplet and n is the number of lines. Is this possible?
Thomas Dixon
Thomas Dixon 2021 年 1 月 13 日
I am adding this so i can follow activity
Image Analyst
Image Analyst 2021 年 1 月 14 日
Thomas, yes, for example
% x and y are your data, in rows of a matrix.
numDataSets = size(x, 1);
plotColors = jet(numDataSets);
for row = 1 : numDataSets
% Extract this particular set of (x,y) coordinates from the whole data set.
thisX = x(row, :);
thisY = y(row, :);
% Now plot just this one.
plot(thisX, thisY, '-', 'Color', plotColors(row, :), 'LineWidth', 2);
hold on; % Leave plots up so we'll see all of them at the end.
end
grid on;
xlabel('x', 'FontSize', 20);
ylabel('y', 'FontSize', 20);
title('Demo by Image Analyst', 'FontSize', 20);

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by