如何防止右侧y轴上的色条重叠(matlab)

时间:2014-02-19 11:10:18

标签: matlab colorbar

首先,我是matlab的新手。

我有一个有两个y轴的零散图形。

我想在图的东侧使用颜色条,但是,颜色条在右y轴和标签上重叠。

FigHandle = figure('Position', [1, 1, 1200, 1200]);
h1 = scatter(x,y1,30,z);![enter image description here][1]
ax1 = gca;
grid on
hold(ax1, 'all');
ax2 = axes('Position',get(ax1,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k', 'fontsize',20);
hold(ax2, 'all');
h2 = scatter(x,y2,30,z,'Parent',ax2); 
t = colorbar('peer',gca);
colorbar('location','eastoutside')

1)我试图减小绘图屏幕的宽度(不是图),这样我可能有一些空间用于颜色条但它不起作用。

2)我试图增加所有数字屏幕的宽度,但是情节屏幕也增加了,所以没有任何改变。

我尝试了几个位置调整代码,但我没有弄清楚这个概念。

总之,我想找到一种方法来减少绘图屏幕的宽度,以便有足够的空间用于colorbar。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用axis([XMIN XMAX YMIN YMAX])xlim([XMIN XMAX])手动调整X轴的长度,然后展开XMAX直到重叠消失。

否则,这里有一些代码可以完成您想要的任务:

currentLimit=get(gca,'Xlim') %Get the X limit from your current (gca) axis

set(gca, 'XLim', [CurrentLimit(1),CurrentLimit(2)+0.1*CurrentLimit(2)]) %Set a new Xlimit for the current axis

希望有效!