对于具有logscale的直方图,Gnuplot错误(标签具有0的坐标)

时间:2014-11-03 14:50:09

标签: gnuplot

我试图用Y logscale绘制直方图。这是我的代码:

input_file  = "io_time.dat"
output_file = "io_time.eps"
set terminal postscript eps size 4.0,3.5 enhanced color font "Helvetica,18" solid
set output output_file
set style data histogram
set style histogram cluster errorbars gap 1
set boxwidth 0.8
set logscale y
set ylabel 'I/O Duration (sec)'
set xtics mirror rotate by 45 right
plot input_file u 2:3:4:xtic(1) notitle fs pattern 1 lt 1

我收到以下错误:

"io_time.gp", line 11: label has y coord of 0; must be above 0 for log scale!

虽然它似乎与数据文件的内容无关,但是这个数据文件(io_time.dat)包含4列:第一列用于每个盒子的标签,第二列用于盒子的高度(所有值> 0),第3和第4列包含ylow和yhigh值(也> 0)。

我在Mac OS X 10.7.5上使用通过MacPort安装的gnuplot 4.6 patchlevel 5。

知道如何解决这个问题吗?

编辑:经过调查,我的$ HOME / .gnuplot配置文件中的一行似乎导致了问题:

set label  textcolor rgb text_color font my_font

text_color和my_font的定义如下:

text_color = "#000000"
my_font = "Helvetica, 18"

这里还有一个示例数据文件:

A       50.79841091632843       36.28489899635315       69.23793005943298
B       0.11200199127197266     0.032312870025634766    0.42415809631347656
C       0.10992197990417481     0.0323939323425293      0.41459178924560547
D       0.10762600898742676     0.03207087516784668     0.39806699752807617
E       0.03831331729888916     0.03720998764038086     0.04118704795837402
F       0.043952775001525876    0.04250597953796387     0.04720902442932129
G       0.03883504867553711     0.03631401062011719     0.04176783561706543

1 个答案:

答案 0 :(得分:1)

所以你基本上已经找到问题的根源了:你设置了一个标签而没有给出明确的坐标,在这种情况下使用了0,0。而这并不适用于对数尺度。由于标签仅在您plot时放置,因此会报告plot命令的行号。

BTW:为什么在配置文件中设置一个空标签?