【发布时间】:2016-01-20 22:04:13
【问题描述】:
以下matlab代码
h1=scatter([1:10],[1:10],'red');
hold on;
h2=scatter([1:10],[2:11],'blue');
legend([h1;h2]);
用于在图例中生成两个条目,一个红色,另一个蓝色在 Matlab 2014A 中。在 Matlab 2015B 中,两个条目现在都显示为蓝色。我怎样才能解决这个问题?
【问题讨论】:
以下matlab代码
h1=scatter([1:10],[1:10],'red');
hold on;
h2=scatter([1:10],[2:11],'blue');
legend([h1;h2]);
用于在图例中生成两个条目,一个红色,另一个蓝色在 Matlab 2014A 中。在 Matlab 2015B 中,两个条目现在都显示为蓝色。我怎样才能解决这个问题?
【问题讨论】:
看起来它是此版本的已知 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');
输出:
【讨论】: