【问题标题】:Mark all the points in the plot in MATLAB在MATLAB中标记图中的所有点
【发布时间】:2015-03-31 13:40:08
【问题描述】:

x 和 y 轴对应于 (x,y) 的二维数组。我想根据返回布尔值的某个函数标记所有点。

f(xAxis_array, yAxis_array) 返回真/假。如果是真的,我想用红色标记点,否则用黑色标记。

例如,我想得到类似的结果:

提前谢谢你!

【问题讨论】:

    标签: matlab plot matlab-figure


    【解决方案1】:

    这很容易。您可以将数据分成两部分 - 一部分满足约束,另一部分不满足。然后,您可以使用这两个部分调用plot,并对每个点进行不同的着色。因此,给定您的两个数组xAxis_arrayyAxis_array,并给定您的函数f(假设向量化),您可以执行以下操作:

    ind = f(xAxis_array, yAxis_array);
    redx = xAxis_array(ind);
    redy = yAxis_array(ind);
    blackx = xAxis_array(~ind);
    blacky = yAxis_array(~ind);
    
    plot(redx, redy, 'r.', blackx, blacky, 'k.');
    

    第一行代码为xAxis_arrayyAxis_array 中的每对点返回True/False。这将是一个logical 向量,它告诉您对应点是True 还是False。完成后,我们使用逻辑索引将应标记为红色的点和应标记为黑色的点分开。将它们分开后,我们使用单个 plot 调用,以便那些应该是红色的坐标被标记为该颜色,而那些是黑色的则被标记为该颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      相关资源
      最近更新 更多