Change colors (of groups) in scatter plot

11 次查看(过去 30 天)
The following matrix contains around 80 rows, representing 2-dimensional points (each row corresponds to a point), and 3 columns, containing each point's x-coordinate, y-coordinate, and an integer number indicating the group to which the point belongs to, i.e. (-1, 1, 2, 3, 4). The latter integer number, i.e. (-1, 1, 2, 3, 4), comes from a clustering algorithm and it is taken by scatter(x,y,sz,c) to color all the points according to the belonging group. Now, how can I change the colors of the groups of points? I do not know what is the reference color set or color map used by scatter(x,y,sz,c), but can I change it, for example to c = turbo, or other color sets?
a = [37 98 1
35 94 1
33 97 1
33 99 1
31 96 1
30 97 1
29 100 1
30 94 1
31 90 1
28 93 1
21 63 1
20 61 1
22 60 1
24 60 1
24 64 1
27 62 1
28 65 1
27 59 1
23 57 1
26 56 1
27 57 1
29 57 1
31 60 1
31 61 1
31 64 1
32 66 1
36 60 1
37 56 -1
32 56 1
31 54 1
27 53 1
13 43 2
17 42 2
17 40 2
19 37 2
14 40 2
13 42 2
10 41 2
10 42 2
9 39 2
6 40 2
25 20 3
24 18 3
26 18 3
27 19 3
27 21 3
29 21 3
30 22 3
30 23 3
31 26 3
33 27 3
35 28 3
94 11 4
95 10 4
97 8 4
94 8 4
93 8 4
99 12 4
97 12 4
98 15 4
95 14 4
91 15 4
92 17 4
91 19 4
89 19 4
87 21 4
89 22 4
86 23 4
84 25 4
81 25 4
80 26 4
82 26 4
79 29 4
82 29 4
83 29 4
86 28 4
88 25 4
91 24 4
93 21 4
94 22 4
94 19 4
95 18 4
97 20 4];
scatter(a(:,1),a(:,2),[],a(:,3),'filled','s')

采纳的回答

Rik
Rik 2023-10-31
As the documentation explains, you can set the colormap:
a = [37 98 1; 35 94 1; 33 97 1; 33 99 1; 31 96 1; 30 97 1; 29 100 1; 30 94 1; 31 90 1; 28 93 1; 21 63 1; 20 61 1; 22 60 1; 24 60 1; 24 64 1; 27 62 1; 28 65 1; 27 59 1; 23 57 1; 26 56 1; 27 57 1; 29 57 1; 31 60 1; 31 61 1; 31 64 1; 32 66 1; 36 60 1; 37 56 -1; 32 56 1; 31 54 1; 27 53 1; 13 43 2; 17 42 2; 17 40 2; 19 37 2; 14 40 2; 13 42 2; 10 41 2; 10 42 2; 9 39 2; 6 40 2; 25 20 3; 24 18 3; 26 18 3; 27 19 3; 27 21 3; 29 21 3; 30 22 3; 30 23 3; 31 26 3; 33 27 3; 35 28 3; 94 11 4; 95 10 4; 97 8 4; 94 8 4; 93 8 4; 99 12 4; 97 12 4; 98 15 4; 95 14 4; 91 15 4; 92 17 4; 91 19 4; 89 19 4; 87 21 4; 89 22 4; 86 23 4; 84 25 4; 81 25 4; 80 26 4; 82 26 4; 79 29 4; 82 29 4; 83 29 4; 86 28 4; 88 25 4; 91 24 4; 93 21 4; 94 22 4; 94 19 4; 95 18 4; 97 20 4];
scatter(a(:,1),a(:,2),[],a(:,3),'filled','s')
colormap('turbo')

更多回答(1 个)

Image Analyst
Image Analyst 2023-10-31
You should not be using scatter. You should be using gscatter (if you have the stats toolbox) which has the capability you are asking for.

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by