How to build 2D data with different colors and markers

I ran into a problem when I need to build two-dimensional data with different colors and markers.

We are assigned an array of 2, namely, points (size nx 2) and Label (size nx 1). I'm not sure about the number of unique values ​​in the Shortcut array, but the maximum can be 10. I would like to build points with different colors and markers based on the corresponding Icon .

Can anyone help me in this regard

+6
source share
1 answer

Use gscatter , which makes a scatter chart, using a group ( Label in your case) to paint in different colors / makers.

 GSCATTER(X,Y,G,CLR,SYM,SIZ) specifies the colors, markers, and size to use. CLR is either a string of color specifications or a three-column matrix of color specifications. SYM is a string of marker specifications. Type "help plot" for more information. For example, if SYM='o+x', the first group will be plotted with a circle, the second with plus, and the third with x. SIZ is a marker size to use for all plots. By default, the marker is '.'. 

So you can specify colors like 'rgcmykwb' to make red for the first group, green for the second, etc. or [] , just for Matlab to figure it out.

By default, Matlab uses the same marker for each group, so you need to specify which markers you want to use for each group. If you do '.ox+*sdv^<>ph' , you simply loop through all the markers that Matlab has.

 n=50; % make nx2 matrix of random points. points = random('unif',0,1,n,2); % make nx1 matrix of random labels from {1,2,...,5} labels=round(random('unif',1,5,n,1)); % plot. Let Matlab sort out the colours and we will specify markers. gscatter(points(:,1),points(:,2),labels,[],'ox+*sdv^<>ph.') 

It looks something like this: enter image description here

+10
source

Source: https://habr.com/ru/post/904291/


All Articles