1

同じデータ ファイルの異なる列を使用して 2 つのグラフをプロットしようとしています。1 つのグラフの範囲が他のグラフよりもはるかに大きいため、y 軸を対数スケールに設定しています。値のドメインも両方のグラフで非常に小さいため、x 軸も対数スケールに設定しています。

gnuplotデータ ファイルの最初の点 (x = 0) をプロットしないことを除いて、グラフをプロットするのに問題はありません。

したがって、グラフをプロットするために使用しているコードは次のとおりです。

set xrange [1:2500]
set yrange [1:2000]
set log x
set log y
plot "datafile.txt" using 1:2 with lines, "datafile.txt" using 1:3 with lines

両方の軸に対数スケールを使用しているため、どちらの範囲にもゼロの値を含めることはできません。

したがって、私が使用しているデータファイルの抜粋は次のとおりです。

Table of Results: Range: {-50...50}
Dim #AvgP   #AvgNP
0   0   1743
1   0   564
2   0   914
3   0   1040
4   0   1072
5   0   1005
6   0   815
7   1   689
8   3   525
9   4   433
10  3   350
11  0   255
12  1   216
13  2   140
14  2   84
15  1   57
16  0   38
17  0   16
18  0   15
19  1   7
20  0   2
21  0   1
22  0   1
23  0   0
24  0   0
25  0   0
.   .   .
.   .   .
.   .   .

したがって、プロットされるファイルは次のとおりです。

ここに画像の説明を入力

2 番目のグラフの最初の値がプロットされていないことに注意してください。

4

1 に答える 1

0

お気づきのように、x=0ポイントは対数軸上で定義されていないため、省略されていることが予想されます。その点を強制的に含める場合は、各値に 1 を追加してx値をシフトし、適切な軸ラベルを付けて、プロットされているものを明確にします。

plot "datafile.txt" using ($1+1):2 with lines, "datafile.txt" using ($1+1):3 with lines

これで、緑色の線に欠けている点が表示されるはずです。値y=0もプロットできないため、赤い線は変更されません。必要に応じて、 y値もシフトできます。

外観は次のとおりです。 曲線は最初の点を示すようにシフトされます。

于 2011-11-02T09:00:09.837 に答える