我有一个散点图,它将覆盖几组数据。当前,每组数据将显示为默认颜色图中的下一个颜色。这是我现在的代码:

figure
hold on
for i=1:10
   scatter(RunRawArea(i,:), RunRawNetLength(i,:));
end
hold off


我想要对每组数据(由i索引)进行颜色编码,以使其成为渐变上的下一种颜色。例如,i = 1的数据将是蓝色,i = 5的数据将是紫色,i = 10的数据将是红色。

我该怎么办?

最佳答案

您应该向scatter添加另一个参数-称为CData

https://www.mathworks.com/help/matlab/ref/scatter.html


说明:scatter(x,y)创建带有圆的散点图
在向量x和y指定的位置。这类图
也称为气泡图。


在您的示例中:

figure
hold on
colorVec = linspace(1,0, size(RunRawNetLength,1));
colorVec = transpose(colorVec);
colorVec = repmat(colorVec,[1 3]);
for i=1:10
   scatter(RunRawArea(i,:), RunRawNetLength(i,:),'CData', colorVec );
end
hold off

关于matlab - 如何在Matlab中的散点图上显示颜色梯度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11384692/

10-12 19:43