【发布时间】:2019-01-15 08:02:47
【问题描述】:
我想使用与 gnuplot 命令在同一文件中的数据使用 rowstacked 直方图来绘制数据。 我在其他任何地方都没有发现同样的问题,并且尝试了很多想法都没有成功。
示例数据文件,我称之为 example.dat
Name March April May
Bob 5 10 30
Alice 20 5 20
Tony 10 10 15
Cathy 15 15 10
这是一个 gnuplot 命令文件,我称之为 eg1.gp:
set title "Test chart for row stacked histogram"
set style data histograms
set style histogram rowstacked
set boxwidth 0.6
set style fill solid 1.0 border -1
set key invert autotitle columnhead
set yrange [:50]
set ylabel "Number of Referrals"
set ytics 10
plot 'example.dat' using 2 t "March", '' using 3 t "April", '' using 4:xtic(1) t "May"
我正在使用 Linux Manjaro。 当我发出命令 $: gnuplot -persist eg1.gp 我得到预期的图表,如下所示: Stacked histogram eg1.png
到目前为止一切顺利。正如您所期望的那样,直方图有 4 个垂直条,每个有 3 种颜色代表每个名称的月份。
接下来,我将这两个文件合并为一个文件,调整命令以使用文件中的数据。这里是:
set title "Test chart for row stacked histogram"
set style data histograms
set style histogram rowstacked
set boxwidth 0.6
set style fill solid 1.0 border -1
set key invert autotitle columnhead
set yrange [:50]
set ylabel "Number of Referrals"
set ytics 10
plot "-" using 2 t "March", '' using 3 t "April", '' using 4:xtic(1) t "May"
Name March April May
Bob 5 10 30
Alice 20 5 20
Tony 10 10 15
Cathy 15 15 10
这个文件与前两个文件的组合相同,只是命令中的文件引用“example.dat”已替换为“-”,它告诉 gnuplot 查找紧随其后的数据(即是它在哪里)。 我将此文件保存为 eg2.gp 并发出命令 $: gnuplot -persist eg2.gp 结果是数据文件第二列的图表 - 即仅 3 月数据,加上 2 条警告消息,均显示“eg2.gp”,第 16 行:警告:跳过没有有效点的数据文件” . 这是新图像: stacked histogram eg2.png
x 轴上的名称已丢失。 eg2.gp 文件中的第 16 行是最后一行数据。 我认为正在发生的事情是,当 gnuplot 开始构建直方图中的第二行框时,它未能循环回文件数据部分的开头。 问题是,我如何指示 gnuplot 这样做?
【问题讨论】:
标签: gnuplot