4

次のスクリプトを実行すると、エラーメッセージが表示されます。

set terminal postscript enhanced color
set output '| ps2pdf - histogram_categorie.pdf'
set auto x
set key off
set yrange [0:20]
set style fill solid border -1
set boxwidth 5
unset border
unset ytic
set xtics nomirror
plot "categorie.dat" using 1:2 ti col with boxes

私が受け取るエラーメッセージは

smeik:plots nvcleemp$ gnuplot categorie.gnuplot 

plot "categorie.dat" using 1:2 ti col with boxes
                                            ^
"categorie.gnuplot", line 13: x range is invalid

ファイルの内容categorie.dat

categorie   aantal
poussin  13
pupil  9
miniem  15
cadet  15
junior  6
senior  5
veteraan  8

問題は、x範囲を定義していないことだと理解しています。x範囲の値として最初の列を使用させるにはどうすればよいですか?または、行番号をx範囲として取得し、最初の列をラベルとして使用できるようにする必要がありますか?gnuplot4.4を使用しています。

私は最終的に、これより前に作成したプロットと同じように見えるプロットを取得しようとしています。これは正常に機能しましたが、x軸に数値データがありました。

set terminal postscript enhanced color
set output '| ps2pdf - histogram_geboorte.pdf'
set auto x
set key off
set yrange [0:40]
set xrange [1935:2005]
set style fill solid border -1
set boxwidth 5
unset border
unset ytic
set xtics nomirror
plot "geboorte.dat" using 1:2 ti col with boxes,\
     "geboorte.dat" using 1:($2+2):2 with labels

ファイルの内容geboorte.dat

decennium aantal
1940  2
1950  1
1960  3
1970  2
1980  3
1990  29
2000  30
4

1 に答える 1

10

boxesスタイルは、x 値が数値であることを想定しています。これは簡単です。基本的にスクリプトの行番号である疑似列 0 を与えることができます。

plot "categorie.dat" using (column(0)):2 ti col with boxes

おそらく、プロットの最初の列の情報が何らかの形で必要になるでしょう。これらの文字列を x-tics にしたいと仮定します。

plot "categorie.dat" using (column(0)):2:xtic(1) ti col with boxes

*ここで注意してください。これは、現在の設定では機能しない可能性がありboxwidthます。set boxwidth 1またはを検討することをお勧めしますplot ... with (5*column(0)):2:xtic(1) ...

編集- 上記のデータファイルを取得して、ボックス幅を正しくするために上記の両方の変更をテストしましたが、両方とも機能しているように見えました。

于 2012-12-18T14:04:49.480 に答える