运行以下脚本时,收到错误消息:
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范围并让他使用第一列作为标签?我正在使用Gnuplot 4.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
答案 0 :(得分: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) ...
。
编辑 - 根据上面发布的数据文件,我已经测试了上述两项修改以获得正确的盒宽,两者似乎都有效。