2012-06-12 102 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])