【问题标题】:How to preserve scatter plot series colors in the legend in matlab 2015B?如何在matlab 2015B的图例中保留散点图系列颜色?
【发布时间】: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 graph plot


    【解决方案1】:

    看起来它是此版本的已知 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');
    

    输出:

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2021-07-11
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多