3

我在 MATLAB 中使用 plotyy 函数。它实际上是 2 个地块,每个地块有 5 条“线”。我希望 5 行颜色匹配,但我不管理。我尝试了从设置句柄到颜色顺序的各种方法 - 见下文。

这两个变量 pk3... 是每个 5 列的向量。

[ax,h1,h2]= plotyy(2007:2050,pk3uco25,2007:2050,pk3ux45)

我已经使用下面的行来控制其他属性,...

set(h1,'linestyle', 'd','marker','*', 'markersize', 5) %variable 1
set(h2,'linestyle', '-', 'linewidth', 1.5)             %variable 2

我想要的是前 5 行,匹配后 5 行的颜色。我尝试了各种方法,例如:

  • 设置一个重复的颜色顺序,使得mycolororder{1:5,:} == mycolororder{6:10,:}

    set(gca,'colororder',mycolororder); %

  • 使用值矩阵

cols(1:5,1)={'color'};

cols(:,2)=get(h1,'color');
set(h2,cols{1:5,1},cols{1:5,2});

......还有其他一些事情,但没有运气!

4

1 回答 1

3

为了将h2颜色设置为与颜色相同,请h1使用以下行:

set(h2, {'Color'}, get(h1,'Color'));

例如:

x=1:5;
y1=meshgrid(10:10:50,1:5);
y2=y1+1;
[ax,h1,h2]= plotyy(x,y1,x,y2);
set(h2, {'Color'},get(h1,'Color'));

示例图

于 2013-01-11T18:01:00.933 回答