从循环数据点matlab设置图例

时间:2014-08-16 18:10:06

标签: matlab legend scatter-plot

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

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

这很好用,因为我可以单独定义每个点,但在尝试设置图例时会出现问题。它试图列出所有不同的点,但我喜欢的只是一个空圆圈(markerfacecolor白色或透明),每一组都有其特定的市场颜色。

我希望这很清楚。谢谢。

麦克

1 个答案:

答案 0 :(得分:0)

我很幸运使用补丁,设置' FaceColor' EdgeColor'没有'没有',' MarkerEdgeColor'平坦的'并设置' 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以获取更多信息。