gpt4 book ai didi

Matlab 绘图 - 无法在一个plot() 命令中使用 "MarkerEdgeColor"、 "MarkerFaceColor"或 "MarkerSize"进行多个绘图

转载 作者:行者123 更新时间:2023-12-01 16:28:11 26 4
gpt4 key购买 nike

这有效:

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 不喜欢我连接绘图。我会使用第一个选择,但问题是即使我指定要使用的图形,它也不会绘制在同一个图形上。他们只绘制单独的数字,这对我来说没有用。如何在同一绘图命令中为每个绘图指定不同的标记边缘颜色、面颜色和大小?

最佳答案

For some reason, Matlab doesn't like when I concatenate the plots.

是的。这个原因appears in the documentation (我添加了强调格式):

plot(_,Name,Value) specifies lineseries properties using one or more Name,Value pair arguments. Use this option with any of the input argument combinations in the previous syntaxes. Name,Value pair settings apply to all the lines plotted. You cannot specify different Name,Value pairs for each line using this syntax.

将上面的语法与 the following valid syntax for set 结合起来就可以达到你想要的效果:

set(H,pn,MxN_pv) sets n property values on each of m graphics objects, where m = length(H) and n is equal to the number of property names contained in the cell array pn. This allows you to set a given group of properties to different values on each object.

使用此代码:

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

关于Matlab 绘图 - 无法在一个plot() 命令中使用 "MarkerEdgeColor"、 "MarkerFaceColor"或 "MarkerSize"进行多个绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com