使用gscatter命令时,Color和MarkerFaceColor可以自动化吗?

时间:2013-11-05 05:34:50

标签: matlab matlab-figure

我正在寻找一种在使用Color功能进行绘图时自动包含标记MarkerFaceColorgscatter的方法。例如,我可以使用以下命令绘制重量与MPG的关系:

load carsmall;
gscatter(Weight,MPG,Model_Year,'','xos');
h = gscatter(Weight, MPG, Model_Year,'','o');
set(h(1), 'Color', 'b', 'MarkerFaceColor', 'b');
set(h(2), 'Color', 'g', 'MarkerFaceColor', 'g');
set(h(3), 'Color', 'r', 'MarkerFaceColor', 'r');

但由于gscatter不包含设置ColorMarkerFaceColor的功能,因此我必须手动执行此操作。

有没有人知道一种允许自动完成的技术?

1 个答案:

答案 0 :(得分:1)

gscatter确实包含添加颜色的功能(它位于标记类型之前的''部分)。 'MarkerFaceColor'必须单独调整;您可以最初定义颜色列表并循环它们。请注意,颜色和标记列表的大小不必与组的数量相同,因此这适用于1到8个组之间的任何位置:

colors = 'rgbcmykw'
h = gscatter(Weight, MPG, Model_Year,colors,'o');
for n = 1:length(h)
  set(h(n), 'MarkerFaceColor', colors(n));
end