plotting points with different colors
显示 更早的评论
Hi,
I have a MxM matrix RegionsMap whose components are integer numbers between 1 and 4. The element RegionsMap(k,j) represents a point in the complex plane, x(k)+i*y(j) (x and y are vectores I previously defined). I want to plot every one of these complex numbers in the complex plane in such a way that: If RegionsMap(k,j) is 1 I color the associated point in blue, if it is 2 I color the associated point in red,...etc (green and yellow for 3 and 4).
How can I achieve this? Any help will be appreciated! Thanks
回答(2 个)
J. Webster
2016-4-22
something like this maybe?
RegionsMap = randi([1 4],10,10);
x = rand(1,10);
y = rand(1,10);
figure(10);
hold on;
for i=1:10
for j=1:10
switch RegionsMap(i,j)
case 1
plot(x(i),y(j), 'ob');
case 2
plot(x(i),y(j), 'or');
case 3
plot(x(i),y(j), 'og');
case 4
plot(x(i),y(j), 'oy');
end
end
end
hold off;
2 个评论
Diego Soler Polo
2016-4-22
编辑:Diego Soler Polo
2016-4-22
J. Webster
2016-4-23
to fill in the circle, you can replace the plot command with
scatter(x(i),y(i), 'og', 'filled')
If you know there will be at most 10 possibilities, you could just define 10 different cases.
Or you could do like Walter Roberson noted and define a colormap.
Walter Roberson
2016-4-23
0 个投票
scatter() fourth parameter can be a vector of values. Create a colormap with as many entries as values you have. caxis([1,n]) where n is the number of entries. Now value K will be drawn with color from entry #K
类别
在 帮助中心 和 File Exchange 中查找有关 Color and Styling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!