Matlab 使用gscatter命令时,颜色和MarkerFaceColor是否可以自动执行?

Matlab 使用gscatter命令时,颜色和MarkerFaceColor是否可以自动执行?,matlab,matlab-figure,Matlab,Matlab Figure,我正在寻找一种方法,在使用gscatter功能打印时自动包括markerColor和MarkerFaceColor。例如,我可以使用以下命令绘制重量与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), 'Colo

我正在寻找一种方法,在使用
gscatter
功能打印时自动包括marker
Color
MarkerFaceColor
。例如,我可以使用以下命令绘制重量与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
不包含设置
Color
MarkerFaceColor
的功能,因此我必须手动执行此操作


有人知道一种可以自动完成这项操作的技术吗?

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
“自动”是什么意思?你的代码有什么问题?一切似乎都正常。')(除了有两个相同的散点图)