1

私は現在、関数をプロットし、そのデータを png ファイルに出力する Matlab スクリプトを使用していますが、この最後のフェーズに問題があります。

実際には、プロットされた画像から 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解像度を 1 インチあたりのドット数 (デフォルトは 90) で指定するオプションを使用して、画像の解像度を上げることができます。それはあなたの問題を解決するはずです(少なくとも私にとってはそうでした)。Matlabprint関数のドキュメントを参照してください。

PS: line プロパティ で太い線を使用することもできますLineWidth

于 2012-06-12T08:51:59.863 に答える
0

x-limit を少しだけ拡張できます。

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