MATLAB:以PDF添加额外的Y轴(线性缩放到原件)和“打印”不失轴线对齐(Matlab: Add

2019-10-23 06:00发布

我与沿x轴的日期/时间,并且在第一y轴的浓度的数据集,但希望以显示浓度的不同量度上的第二y轴的等效值(例如在一个Y轴和英寸具有厘米在另一)。

我用gnovice的解决方案,从此处添加额外的轴: 左右不同轴在MATLAB情节? 它精美的作品,我在屏幕上:

但是,当我“打印”成PDF使用

print(gcf,'-dpdf',[filename '.pdf'])

的轴移动的下端,以使两个范围不再当量:

有没有办法粘上到位附加轴,当我生成PDF? 我的代码为这个情节梗概低于:

subplot(6,1,4),
H3 = scatter(sampletime,SSCcoarse,'g<','filled')
    hold on
H4 = scatter(sampletime,(SSCcoarse+SSCfine),'g<')
    ylim([0 0.08])
    set(gca,'ytick',[0:0.04:0.08],'yticklabel',['0.00';'0.04';'0.08'])
    ylabel('SSC (g L^{-1})')

xlim([startdate enddate]) 
datetick('x','dd-mmm','keeplimits')

% Add data from extra site on original axis
H5 = scatter(sampletime2,SSCcoarse2,'r<','filled')
H6 = scatter(sampletime2,(SSCcoarse2+SSCfine2),'r<')

%% Add equivalent turbidity y axis

axesPosition = get(gca,'Position');          %# Get the current axes position
hNewAxes = axes('Position',axesPosition,...  %# Place a new axes on top...
                'Color','none',...           %#   ... with no background color
                'YLim',[0 0.08*190.6752],... %#   ... and a different scale
                'YAxisLocation','right',...  %#   ... located on the right
                'XTick',[],...               %#   ... with no x tick marks
                'YTick',[0:5:15],'YTickLabel',['0 ';'5 ';'10';'15'],...
                'Box','off');                %#   ... and no surrounding box
ylabel(hNewAxes,'Equivalent turbidity  (FNU)');  %# Add a label to the right y axis


%% Filename and save
filename = 'filename';

fillPage(gcf, 'margins', [0 0 0 0], 'papersize', [11 38]);
print(gcf,'-dpdf',[filename '.pdf'])

任何帮助将非常感激。 我不知道这个问题是在图形或代码中的“打印”的代码。 谢谢。

文章来源: Matlab: Add additional y axis (linearly scaled to original) and “print” to PDF without losing axis alignment