如何在matlab 2015B中保留图例中的散点图系列颜色?

时间:2016-01-20 13:37:48

标签: matlab graph plot

以下matlab代码

h1=scatter([1:10],[1:10],'red');
hold on;
h2=scatter([1:10],[2:11],'blue');
legend([h1;h2]);

用于在图例中生成两个条目,一个是红色,另一个是Matlab 2014A中的蓝色。在Matlab 2015B中,两个条目现在都显示为蓝色。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:3)

对于此版本,它看起来是已知的bug,即散点图中的图例颜色不适合。

如果单击该链接,则可以从Mathworks下载修补程序以解决问题。

作为一种变通方法,您可以在生成散点图后将每个散点图的MarkerEdgeColor分配给关联的CData或任何RGB三元组:

h1=scatter([1:10],[1:10],'r');
hold on;
h2=scatter([1:10],[2:11],'blue');

h1.MarkerEdgeColor = h1.CData;
h2.MarkerEdgeColor = h2.CData;

%// or -----\\%
%//  h1.MarkerEdgeColor = [1 0 0];
%//  h2.MarkerEdgeColor = [0 0 1];
%//----------\\%

legend([h1;h2],'Location','NorthWest');

输出:

enter image description here