plotyy中的第二个句柄未能通过for循环

时间:2013-10-28 21:20:20

标签: matlab

我的代码旨在根据百分数的值生成一系列(不同颜色)的图表(因此' for'循环从1运行到长度为percentsolar)。第一系列图(存储在 percentimprovement1 中的数组)应绘制在第1个y轴上,第二个系列图(存储在 sizup21 中的数组)应绘制在第二个y轴。不幸的是,第二个"系列"即使 sizeup21 内的数组不同(即它们不应显示为同一行),图表也只显示为一行。

以下是我的代码:

dashes = {':', '-'};
colors = {'b', 'r', 'm', 'c', 'k', 'w', 'g', 'y'};
for e=1:length(percentsolar)
    [ax, h1, h2] = plotyy(randomentries, percentimprovement1(:,e), randomentries, sizeup21(:,e));
    set(h1,'LineStyle',dashes{1});
    set(h1,'color', colors{e});
    set(ax(1),'YLim',[0 100]);
    set(ax(1),'YTick',0:20:100);
    set(h2,'LineStyle', dashes{2});
    set(h2,'color',colors{e});
    set(ax(2),'YLim',[0 max(max(sizeup21))])
    set(ax(2),'YTick',0:1:max(max(sizeup21)))
    hold on;
end

1 个答案:

答案 0 :(得分:3)

plotyy存在问题并暂停。 plotyy创建了两个绘图句柄。坚持不按预期工作。

解决方法:

%add first tow data sets:
[axis, l, r] = plotyy(...)
hold(axis(1),'on')
hold(axis(2),'on')
%add another data set, left axis
plot(axis(1), x, y)
%add another data set, right axis
plot(axis(2), x, y)