2

私は次のデータを持っていますcr.dat

0.03 0.0227352
0.02 0.0276084
0.01 0.0386684
0.009 0.0407197
0.008 0.0431688
0.007 0.04612
0.006 0.0497781
0.005 0.0545085
0.004 0.0608376
0.003 0.069918
0.002 0.0844434

そして、次のプロットスクリプト

set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u 1:2 title "cr";

この画像を生成するもの プロットcr

0.01、0.02、0.03 の間の大きなスペースを削除することはできますか?

set xticsコマンドが指定された目盛りを x 軸に沿って均等にプロットすることを望みました。しかし、そうではありません。

アップデート

Irregular gnuplot x-valuesで提案された解決策を試しましたxticlabelsが、これは奇妙な x 軸と y 軸を生成します。

新しいプロット スクリプトは

set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u xticlabels(1):2 title "cr";

結果を終わらせる プロット cr2

私は何かを誤解しましたか?

4

2 に答える 2

3

等間隔の xtics を取得するには、等間隔の x 値を指定する必要があります。これらの各 x 値には、xticlabel関数を使用してデータ ファイルから取得したカスタム ラベルを付けることができます。この関数は、常にusingステートメントで最後に指定する必要があることに注意してください。

等間隔の x 値を取得するには、疑似列に含まれる行番号を使用します0。したがって、目的のプロットを取得するには、次を使用します

plot 'cr.dat' using 0:2:xticlabel(1) title "cr"

行番号を x 値、2 列目の値を y 値、1 列目の値を xtic ラベルとして使用します。

値を昇順で並べ替える場合は、いくつかの選択肢があります。

  1. データファイルをソートします。
  2. オンザフライでデータ ファイルを並べ替えます (Unix コマンド ライン ツールを使用すると正常に動作しますsort

    plot '< sort cr.dat' using 0:2:xticlabel(1)
    
  3. 行番号に負の値を使用すると、x 軸が逆になります。

    plot 'cr.dat' using (-$0):2:xticlabel(1)
    

後者のコマンドの結果は

ここに画像の説明を入力

于 2015-07-02T22:01:47.907 に答える
0

使用する

set logscale x

linearx 軸をx 軸に変換して、logarithmギャップをある程度正規化します。

または、プロットのサイズを変更してより多くのスペースを確保します

set term . . . size 1920, 1080
于 2015-07-02T16:18:07.677 に答える