我目前正在使用Matlab脚本绘制函数并将其数据打印到png文件中,但我在最后阶段遇到了问题。
事实是,从绘图图像移动到png文件,一些数据点消失了。 这是我的照片。
Matlab(正确)绘制的内容(注意最大值为(0; 7.7)):
以下是Matlab打印到文件中的内容:
请注意,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
有人可以帮助我吗? 谢谢!
答案 0 :(得分:2)
您可以使用-r
选项增加图像的分辨率,该选项指定以每英寸点数为单位的分辨率(默认为90)。它应该解决你的问题(至少它对我有用)。请参阅Matlab print
函数documentation。
PS:您还可以使用line property LineWidth
的粗线。
答案 1 :(得分:0)
您可以稍微扩展x限制:
xlim(xlim() - [0.05 0])