【发布时间】:2014-11-03 14:50:08
【问题描述】:
我正在尝试使用 Y 对数刻度绘制直方图。这是我的代码:
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
【问题讨论】:
-
嗨!在 linux 上运行 v4.6 patchlevel 3,我从你的脚本中得到了预期的输出。此外,我在我的数据文件中添加了一行零,但 gnuplot 不在乎:留下新记录的空间并打印标签,但没有绘制框(当然),也没有打印错误消息。看起来数据文件确实无关紧要。你如何运行这段代码?可能是,一些旧设置是问题所在。
-
我只是运行“gnuplot io_time.gp”。我的 $HOME 中有一个 .gnuplot 文件来配置一堆东西,但从来没有遇到过任何问题(过去我一直在许多其他类型的图中使用对数刻度,但我不记得曾经尝试过带有直方图)。它在我工作的电脑上,所以我明天会检查它(如有必要,将其发布)。
-
那么请同时发布一个最小数据集,以便重现您遇到的错误。
-
好的,我添加了一些精度(问题似乎来自我的 .gnuplot 文件中的一行)和一个最小的数据集。
标签: gnuplot