1

我目前一直在使用一个 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

有人可以帮助我吗?谢谢!

4

2 回答 2

2

-r您可以使用以每英寸点数指定分辨率的选项来增加图像的分辨率(默认为 90)。它应该可以解决您的问题(至少它对我有用)。请参阅 Matlabprint函数文档

PS:您也可以使用带有line 属性 LineWidth的粗线。

于 2012-06-12T08:51:59.863 回答
0

您可以稍微扩展 x 限制:

xlim(xlim() - [0.05 0])
于 2012-06-13T14:37:37.750 回答