如何使用Gnuplot制作条形图

如何使用Gnuplot制作条形图,gnuplot,bar-chart,Gnuplot,Bar Chart,我是gnuplot的新手,很多说明和指南都有点让我不知所措。我想我正在尝试做的事情并没有那么复杂,但我似乎找不到关于如何完成所有部分的清晰指导 我正在使用另一个程序Netlogo来创建模拟。为了测试我创建的模型的每个不同版本之间的差异,我反复运行它们,并为每次运行生成数据,然后将数据导出到Excel文件中。在本例中,数据包括每次运行所需的时间。因此Excel文件看起来像一列数字。然后,我测试模型的另一个版本,并为这个新模型生成的数据创建一个新的Excel文件 创建Excel文件后,我将尝试使用g

我是gnuplot的新手,很多说明和指南都有点让我不知所措。我想我正在尝试做的事情并没有那么复杂,但我似乎找不到关于如何完成所有部分的清晰指导

我正在使用另一个程序Netlogo来创建模拟。为了测试我创建的模型的每个不同版本之间的差异,我反复运行它们,并为每次运行生成数据,然后将数据导出到Excel文件中。在本例中,数据包括每次运行所需的时间。因此Excel文件看起来像一列数字。然后,我测试模型的另一个版本,并为这个新模型生成的数据创建一个新的Excel文件

创建Excel文件后,我将尝试使用gnuplot对它们进行图形化。目标是为每个版本模型制作一个带有条形图的条形图,条形图标记运行给定模型所需的平均时间,误差条形图基于标准偏差。我真的不知道如何处理这个问题;我可以从给定的Excel文件中绘制各个数据点,还可以找到平均值。但是当我尝试绘制平均值时,它在x轴上给出了一条从0到3000的线,在y轴上的平均值是多少。在尝试直方图或方框图命令时,它只会给出上升到平均值的方框,再次从0到3000

有人知道怎么做吗

谢谢,
Isaac

如果我理解正确,进入每个栏的数据都在一个单独的文件中。这里有一些东西可以帮助您开始:如果您有一个数据文件
model1.dat
,其中包含一个模型的计时数据

4
5
6
7
以及另一个数据文件
model2.dat
,其中包含另一个模型的数据

6
8
10
12
然后是gnuplot脚本

models="model1 model2"
set style data boxplot
set style fill solid 0.5 
set yrange [0:15]
unset key
plot for [i=1:words(models)] word(models,i).".dat"  u (i):1:(0.5):(word(models,i))
给予


效果非常好!非常感谢。我想知道您是否也可以澄清您给我的代码的底线发生了什么。它起作用了,但我真的不知道发生了什么。我得到足够的信息来修改它,以便选择文件中要使用的列,或者更改数据文件,但我真的不知道发生了什么。另外,unset key是什么意思?如果这是一件麻烦事,请随时告诉我去其他地方。非常感谢你的帮助!我很高兴这有帮助。最后一个命令相当于
plot“model1.dat”u(1):1:(0.5):(“model1”),“model2.dat”u(2):1:(0.5):(“model2”)
。每个
u
(对于
使用
)指令有4个参数:绘制框的位置的x坐标(1和2)、数据的列号(1)、框的宽度(0.5)以及要在x轴上显示为tic标签的文本(“model1”和“model2”)。
unset键
关闭图例;请随意删除它,看看会发生什么。