Create a legend according to the colors of a scatter plot

95 次查看(过去 30 天)
Hi, I have the gps coordinates (xCG and yCG) of the trajectories in a circuit of different drivers, what I would like to do is represent these colored trajectories based on the gear engaged which is saved in an NGear vector. This I did with a scatter plot like below:
scatter(xCG,yCG,10,NGear,'filled');
Now I want to create a legend like this:
legend('Gear 1','Gear 2','Gear 3','Gear 4','Gear 5','Neutral');
But clearly I would like the color in the legend to match the color in the plot. The problem is that NGear does not always contain all five gears, because for example the 5th gear is not put in one lap, this then changes from driver to driver.
So, my question is, there is a way to fix 6 colors accorting to that labels in the legend and than reproduce the same colors in the plot according to the gear engaged?
Thanks.
  5 个评论
Walter Roberson
Walter Roberson 2022-5-22
Do you have an array that contains the "master" color for the 6 different gears? And are you ensuring that NGear is either color information appropriate for the gear actually used, or else is gear index 1 to 6, with missing gears just not present ?
RAFFAELE MAGLIONE
RAFFAELE MAGLIONE 2022-5-22
I solved it by creating a 'Color' vector which for each row contains a triple RGB based on the gear engaged, and then plots 6 NaN, one for each gear, with the color chosen for that gear, to make the legend.

请先登录,再进行评论。

回答(1 个)

the cyclist
the cyclist 2022-5-22
Unless I have misunderstood your question, you should be able to do this using the gscatter command. The legend will be tied to the group (i.e. the gear), which also drives the color.
  1 个评论
Walter Roberson
Walter Roberson 2022-5-23
This sounds like a good approach for the case where the user NGear variable is a gear index, rather than being a color array directly.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by