这有效:
plot(t, pa_iso, '-rs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'r', 'MarkerSize', 5);
plot(t, pc_iso, '-gs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'g', 'MarkerSize', 5);
plot(t, pa_comp, '-bs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'b', 'MarkerSize', 5);
plot(t, pc_comp, '-ms', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'm', 'MarkerSize', 5);
这有效:
plot(t, pa_iso, '-rs', ...
t, pc_iso, '-gs', ...
t, pa_comp,'-bs', ...
t, pc_comp,'-ms');
但我想做的是:
plot(t, pa_iso, '-rs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'r', 'MarkerSize', 5, ...
t, pc_iso, '-gs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'g', 'MarkerSize', 5, ...
t, pa_comp, '-bs', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'b', 'MarkerSize', 5,...
t, pc_comp, '-ms', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'm', 'MarkerSize', 5);
并抛出错误:
Error using plot:
String argument is an unknown option.
出于某种原因,当我连接这些图时,Matlab并不喜欢。我会使用第一个选择,但问题是即使我指定要使用的数字,它也不会在同一个数字上绘图。他们只是在单独的数字上绘图,这对我没用。如何在同一绘图命令中为每个绘图指定不同的标记边缘颜色,面颜色和大小?
答案 0 :(得分:4)
出于某种原因,当我连接这些图时,Matlab不喜欢。
呀。这个原因appears in the documentation(我已经添加了重点格式):
plot( _ ,Name,Value)使用一个或多个 Name,Value 对参数指定lineseries属性。将此选项与先前语法中的任何输入参数组合一起使用。 名称,值对设置适用于绘制的所有线条。 您无法使用此语法为每行指定不同的名称,值对。
您可以将上述语法与the following valid syntax for set
结合使用,实现您想要的目标:
set(H,pn,MxN_pv)在每个m个图形对象上设置n个属性值,其中m = length(H),n等于单元格中包含的属性名称数数组 pn 。 这允许您将给定的属性组设置为每个对象上的不同值。
使用此代码:
h = plot(t, pa_iso, '-rs', ...
t, pc_iso, '-gs', ...
t, pa_comp, '-bs', ...
t, pc_comp, '-ms', 'MarkerEdgeColor', 'k', 'MarkerSize', 5);
%// set linespec as well as common properties. And get a handle
set(h, {'MarkerFaceColor'} , {'r';'g';'b';'m'})
%// Set other, differing properties
答案 1 :(得分:1)
你想要的是:
plot(t, pa_iso, '-rs', ... stuff ...); hold on
plot(t, pc_iso, '-gs', ... stuff ...); hold on
plot(t, pa_comp, '-bs', ... stuff ...); hold on
plot(t, pc_comp, '-ms', ... stuff ...); hold off
hold on
保持轴处理下一个绘图,所以你得到的所有内容都在同一个图中。