Matlab:添加额外的y轴(线性缩放到原始)和"打印"到PDF而不会失去轴对齐

时间:2015-05-29 08:04:10

标签: matlab pdf plot axes

我有一个数据集,沿x轴有日期/时间,第一个y轴有浓度,但想在第二个y轴上以不同的浓度测量值显示等效值(比如在一个y轴上有cm)轴和英寸在另一方面。)

我从这里使用了gnovice的解决方案来添加额外的轴:Different right and left axes in a MATLAB plot? 它在屏幕上为我精彩地工作:enter image description here

但是当我"打印"使用

进行PDF格式
print(gcf,'-dpdf',[filename '.pdf'])

轴的下端移动,使两个范围不再等效:enter image description here

生成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'])

非常感谢任何帮助。我不知道问题是在图表的代码中还是在代码中,以及#34; print&#34;。谢谢。

0 个答案:

没有答案