传奇人物在Matlab中全球化?

时间:2014-05-29 06:54:47

标签: matlab plot

再次全球化。我有一个具有plot的函数,它允许用户通过传递字符串来确定颜色(即'r'为红色)。到现在为止还挺好。现在,我多次从main函数调用此函数。最后,我想使用legend函数指定每种颜色。我们说

in the main function do:
    draw(..., 'r');
    draw(..., 'b');
    draw(..., 'g'); 

其中...其他参数。现在我如何使用legend来确定'r', 'b', 'g'?我知道gcf获取当前数字,但我无法将其与legend一起使用。

1 个答案:

答案 0 :(得分:0)

您遗憾的是无法使用图例,但您可以使用setget来表示这些属性。在绘制时保存每条线的句柄最简单。例如:

% Basic plot of a blue and a red line
x = 1:10;
y = x.^2;
figure(1)
hold all
h1 = plot(x,y);
h2 = plot(x,y+10);
hl = legend('one line', 'another line');
hold off

% Get the color (it's a 1x3 RGB vector)
color1 = get(h1, 'Color');

% Change the color of the lines
set(h1, 'Color', 'k')      % now it's black
set(h1, 'Color', [0 0 0])  % alternative syntax
set(h2, 'Color', 'y')      % this is yellow.

% Change legend string
set(hl, 'String', {'Go', 'Steelers'}  

我希望这有帮助!如果您想探索给定句柄上getset的其他属性,可以调用get(h1

之类的内容