如附带的屏幕截图所示,matlab的EPS输出正在切割右侧Y轴上的标签。
我正在使用plotyy函数,并使用以下方式打印到eps: print(f1,' - depsc2','figure1.eps');
我尝试过更改paperposition属性以及papersize属性,这些似乎在每次调整时都会与另一个进行缩放,因此我无法在右侧增加纸张大小。
我已将paperpositionmode设置为手动。
有没有人有任何想法?
我创建了一些自给自足的示例代码并复制了问题。 增加刻度和字体大小时会产生问题。然而,这对我的情况至关重要。
close all;
% example data:
x = 0:0.01:4;
y1 = 5*sin(2*pi*x+0.1) + 20;
y2 = 0.09*sin(2*pi*x);
tickfontsize = 18;
labelfontsize = 20;
% begin figure:
f1 = figure(1);
[ax, h1, h2 ] = plotyy(x,y1,x,y2)
% axis labels and font size:
set(get(ax(2),'Ylabel'),'String','Test1') ;
set(get(ax(1),'Ylabel'),'String','test2') ;
set(get(ax(1),'Ylabel'),'FontSize',labelfontsize) ;
set(get(ax(2),'Ylabel'),'FontSize',labelfontsize) ;
% left hand side ticks:
set(ax(1),'YLim',[6 10]);
set(ax(1),'YTick',[6:1:10]);
set(ax(1),'FontSize',tickfontsize);
% right hand side ticks:
set(ax(2),'YLim',[-0.13 0.14]);
set(ax(2),'YTick',[-0.1:0.05:0.1]);
set(ax(2),'FontSize',tickfontsize);
%print figure to eps:
print(f1,'-depsc2', './simpleoutput.eps');
答案 0 :(得分:6)
更改轴位置以使其更窄:
set(ax(1),'Position', [0.13 0.11 0.775-.08 0.815]);
set(ax(2),'Position', [0.13 0.11 0.775-.08 0.815]);
% Original position was [0.13 0.11 0.775 0.815]
% Applied change in width: "-.08". Choose as desired
如果需要保持轴比,还应修改高度(第四个数字)。