2

次の図を作成します。

Naming = {'Name1','Name2','Name3','Name4','Name5','Name6'};

for i = 1:length(Naming);
    dat = 1+(30-1).*rand(365,5);
    time = datenum('2009-01-01','yyyy-mm-dd'):datenum('2009-12-31',...
        'yyyy-mm-dd');
    dept = 1:5;

    figure(1);
    ax = subplot(3,2,i);
    contourf(time,dept,dat',1:5:30);
    shading flat;
    title(Naming{i});
    datetick('x','mmm','keepticks');
    AX{i} = get(ax,'position'); 
end
h = axes('Position',[0 0 1 1],'Visible','off');
c = colorbar;
x = get(c,'Position');
x(1) = AX{end}(1)+AX{end}(3)+0.02;
x(2) = AX{end}(2);
x(3) = 0.02;
x(4) = AX{1}(2)+AX{1}(4);
set(c,'Position',x);

カラーバーの幅と高さを定義するためのより良い方法はありますか?現時点では、カラーバーは正しい位置に配置されていますが、高さが高すぎます。

4

2 に答える 2

1

MathWorksは、カラーバーの幅を指定するためのソリューションを提供します。これは私にとってはうまく機能しました。

これは、リンクされたWebサイトの例で、カラーバーの幅が0.03に設定されています。

pcolor(peaks);
c=colorbar;
x1=get(gca,'position');
x=get(c,'Position');
x(3)=0.03;
set(c,'Position',x)
set(gca,'position',x1)
于 2013-05-12T14:30:58.960 に答える
0

下の軸のy位置を引く必要があると思います。

x(4) = AX{1}(2)+AX{1}(4)-AX{6}(2);

より良い方法について:私の見解では、あなたはそれをかなりうまくやっています...あなたは何が「より良い」と思いますか?

于 2012-11-30T16:24:43.477 に答える