我正在使用以下代码:
x = linspace(0, 9, 10);
y1 = x;
y2 = x.^2;
y3 = x.^4;
myfig = figure('Position', [500 500 400 320]); %[left, bottom, width, height]:
ax1 = gca;
hold on
p1 = plot(x,y1,'x--r');
p2 = plot(x,y2,'*-b');
xlabel('blaaa');
ylabel('fooo');
xlim([0 max(x)]);
ax2 = axes('Position',get(ax1,'Position'),...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none',...
'XTickLabel', [],...
'XColor','k','YColor','k');
ylabel(ax2, 'asdasd');
linkaxes([ax1 ax2],'x');
hold on
p3 = plot(x,y3,'s:g','Parent',ax2);
legend([p1 p2 p3], {'one', 'two', 'three'}, 'Location', 'NorthWest');
而右边的y标签没有显示:有没有办法通过减少左边缘和左边y标签之间的边距或通过减小实际绘图数据的宽度来显示它而不调整图形窗口的大小?
由于
修改:添加了图片:
要么减少红色边缘或“绿色”尺寸,因为蓝色箭头是,现在再显示y标签,因为它不适合!
答案 0 :(得分:1)
尝试替换该行:
ax1 = gca;
使用:
ax1 = axes('Position',[0.11 0.11 0.75 0.812]);
要manually设置axis position/size中的normalized units。