获取屏幕单位matlab以保存为pdf

获取屏幕单位matlab以保存为pdf,matlab,Matlab,我想将此图片导出为pdf格式: P2_tilde= 0.1029 0.4118 0.0245 0.1814 0.2794 0.3925 0.0234 0.0280 0.4626 0.0935 0.0928 0.1237 0.2680 0.2990 0.2165 0.0699 0.2219 0.0182 0.5106 0.1793 0.2611 0.0887 0.0837 0.325

我想将此图片导出为pdf格式:

P2_tilde=

0.1029    0.4118    0.0245    0.1814    0.2794
0.3925    0.0234    0.0280    0.4626    0.0935
0.0928    0.1237    0.2680    0.2990    0.2165
0.0699    0.2219    0.0182    0.5106    0.1793
0.2611    0.0887    0.0837    0.3251    0.2414

figure('color',[1,1,1])

hBar2=bar3(P2_tilde);
colormap('pink')

set(hBar2,{'CData'},C);   
set(gca,'xticklabel',surfaces)
set(gca,'yticklabel',surfaces)
surfaces={'Equipment','Patient','Hygiene products','Near-bed','Far-bed'};
colorbar
zlabel('Probability');

colormap('pink')
colorbar('location','southOutside')
set(gca,'xticklabel',surfaces)
set(gca,'yticklabel',surfaces)
surfaces={'Equipment','Patient','Hygiene products','Near-bed','Far-bed'};
zlabel('Probability');
要导出为PDF格式:

currentScreenUnits=get(gcf,'Units')     % Get current screen units
currentPaperUnits=get(gcf,'PaperUnits') % Get current paper units
set(gcf,'Units',currentPaperUnits)      % Set screen units to paper units
plotPosition=get(gcf,'Position')        % Get the figure position and size
set(gcf,'PaperSize',plotPosition(3:4))  % Set the paper size to the figure size
set(gcf,'Units',currentScreenUnits)     % Restore the screen units

print -dpdf ptilde      % PDF called "ptilde.pdf"

完全脱离了页面。你有没有想过如何在画布上居中放置人物,使其仅与人物大小相同?否则我如何修剪它?

我无法完全复制您的图形(代码中的错误:需要C的定义),但使用


另外,我不确定如何从MATLAB中裁剪pdf,但是如果您想要裁剪的矢量图形,请使用-depsc或-depsc2作为打印标志。请参阅MATLAB打印帮助。

我无法完全复制您的图形(代码中的错误:需要C的定义),但使用


另外,我不确定如何从MATLAB中裁剪pdf,但是如果您想要裁剪的矢量图形,请使用-depsc或-depsc2作为打印标志。请参阅有关打印的MATLAB帮助。

PaperSizer参数需要是打印纸张的实际尺寸(将显示的pdf文件),而不是MATLAB图形在屏幕上显示的尺寸。例如,如果将其更改为:

set(gcf,'PaperSize',[9,11])  

你会得到一些看起来合理的东西

PaperSizer参数需要是打印纸张的实际尺寸(将显示的pdf文件),而不是Matlab图形显示在屏幕上的尺寸。例如,如果将其更改为:

set(gcf,'PaperSize',[9,11])  

你会得到一些看起来合理的东西

您可以从MATLAB文件交换中尝试,也许它可以避免这个问题。从FileExchange-中尝试另一个伟大的工具。您可以从MATLAB文件交换中尝试,也许它可以避免这个问题。从FileExchange-中尝试另一个伟大的工具。