Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

# colourful image labeling by using plot function to generate a scatter plot

1 Ansicht (letzte 30 Tage)
Niki am 10 Okt. 2014
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I have two vectors with 1000 length each. for example
r1 = rand(1000,1);
r2 = rand(1000,1);
then I want to plot a scatter which shows r1 versus r2 as follows:
plot(r1, r2, 'or')
I want to show each two values of r1 and 2 with the same color but different from the rest. any suggestion ?
I wrote something but it does not fully help me
for i=1:size(r1,1)
plot(r1 (i,1),r2 (i,2),'o')
hold all
end

### Antworten (2)

Mike Garrity am 10 Okt. 2014
The scatter command lets you assign a color to each marker using the CData property:
h = scatter(r1,r2,'or')
set(h,'CData',1:1000)
Is that what you're looking for?
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Niki am 10 Okt. 2014
Not really, as I explained above, I want to plot for example the first two values in blue, then then second two values in green etc. In general, each two of those scatter will have the same color.

Mike Garrity am 10 Okt. 2014
I'm not quite sure I follow, but if your CData array looks like:
[1, 1, 2, 2, 3, 3, ...]
then every pair of markers will be the same color.
For example:
c = 1:500; % go through colormap in order
c = repmat(c,2,1);
set(h,'CData',c(:));
or
c = randi(64,1,500); % 64 random colors
c = repmat(c,2,1);
set(h,'CData',c(:));

### Community Treasure Hunt

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

Start Hunting!

Translated by