首先,我是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。
非常感谢提前。
答案 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
希望有效!