2012-06-12 98 views
1

我一直在目前使用MATLAB脚本可绘制功能和打印其数据转换成PNG文件Ÿ渐近线数据的PNG文件,但我有这个最后阶段的一个问题。MATLAB,print()函数生成不

事实是,从绘制图像PNG文件移动,一些数据点消失。 这是我的图片。

什么Matlab的(正确地)图(注意,最大为(0; 7.7)): enter image description here

和这里的什么Matlab的打印到文件: enter image description here

注意,所有的点Y渐近线缺失!

为什么会发生这种情况?

这里是我的代码:

grafico2D('filename.dat', -1); 

...

function [result] = grafico2D(filename, max_X) 
% function that loads data from a two-column file and plot them in 2D image 
close all; 

dati = load(filename); % load data from file 
X = dati(:,1); % X axis 
Y = dati(:,2); % Y axis 

temp = size(X); 
lungX = temp(1); 

hFig = figure(); 
set(hFig, 'Visible', 'on'); 

plot(X, Y, 'red'); 
hold on; 
ylim([0 1]); 

if(max_X==-1) 
    xlim([1 X(lungX)]); 
else 
    xlim([1 max_X]); 
end 

xlim 

title(strrep(filename,'_','\_')); % substitute _ with \_ 
xlabel('annotation prediction position'), ylabel('likelihood'); 
grid 


print(hFig, '-dpng', filename); % stampa su file 
% } 

result = 1; 

end 

有没有谁可以帮我吗? 谢谢!

回答

2

你可以增加你的形象与-r选项,指定分辨率点每英寸(90为默认)分辨率。它应该解决你的问题(至少它对我来说)。见Matlab的print功能documentation

PS:您还可以使用较粗的线条与line propertyLineWidth

0

你可以只扩展X-限制一点点:

xlim(xlim() - [0.05 0])