【问题标题】:Set legend from looped data points matlab从循环数据点matlab设置图例
【发布时间】:2014-08-16 18:10:05
【问题描述】:

我想散点图不同的数据点集。每个点都应该有不同的markerfacecolor,但在给定的集合中,它们都将具有相同的markeredgecolor。

我通过单独循环单个散点来实现这一点,因为 markerfacecolor 似乎只能采用标量点。我这样做的方式是遍历我的数据,并寻找合适的颜色。

这很好用,因为我可以分别定义每个点,但是在尝试设置图例时会出现问题。它试图列出所有不同的点,但我想要的只是一个空圆圈(markerfacecolor 白色或透明),每个集合都有其特定的 markeredgecolor。

我希望这已经足够清楚了。谢谢。

迈克

【问题讨论】:

  • 能否请您在此处包含您的代码?
  • 您能否放置一些示例数据以及到目前为止您编写的代码,以便我们可以使用?如果您还可以提供您正在制作的图形,然后评论您想要更改的内容,那也会很有帮助

标签: matlab legend scatter-plot


【解决方案1】:

我很幸运地使用了补丁,将“FaceColor”、“EdgeColor”设置为“none”、“MarkerEdgeColor”设置为“flat”,并将“FaceVertexCData”设置为 Nx3 矩阵,其中每一行都是对应的颜色Nx1 'XData'、'YData' 和 'ZData' 指定的点。

h = patch('parent',gca,...
          'XData',x,...
          'YData',y,...
          'ZData',z,...
          'FaceColor','none',...
          'EdgeColor','none',...
          'MarkerFaceColor',faceColor,...
          'MarkerEdgeColor','flat',... This is what sets the Edge of each marker
          'FaceVertexCData',C) % C is a Nx3

我目前无法访问 Matlab,并且 Octave 似乎没有完全相同的功能。查看 Matlab patch properties documentation 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-13
    • 2015-10-10
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多