我和其他人的阴谋都是不成功的。一个简单的问题是使用以下数据:
age range - frequency - central band width - bin width - height (respectively)
1-4 - 30 - 2.5 - 3 - 10
5-6 - 20 - 5.5 - 1 - 20
7-17 - 30 - 12 - 10 - 3随着年龄的增长,沿X轴方向呈线性关系,1~4的仓宽为3,高为10,5~6的仓宽为1,高为20,7-17为10,高为3。
如何将这些数据放入Word/记事本文档.dat文件中?然后如何使用它们在gnuplot中建立直方图?
发布于 2014-03-25 21:08:32
我将使用以下数据文件格式(仅使用空格分隔字段):
"age range" "frequency" "central band width" "bin width" "height"
1-4 30 2.5 3 10
5-6 20 5.5 1 20
7-17 30 12 10 3boxes绘图样式。它允许您使用列中的值作为宽度。xtic(1),您可以使用第一列中的条目作为xticlabel。因此,一个相当简单的绘图脚本如下:
set style fill solid noborder
set yrange [0:*]
set offset 1,1,1,0
plot 'file.txt' using 3:5:4:xtic(1) with boxes notitle版本4.6.3和pngcairo终端的结果是:

发布于 2018-01-25 11:55:50
昨晚,我处理了一个相当不错的可变宽度框示例。我正在绘制由FIO存储性能测试包生成的延迟直方图数据。使用我的编译选项,我有1856个回收箱,如下所示:
我在情节时的延迟值以微秒为单位(FIO提供纳秒,但出于历史原因,我想要微秒)。我没有机会在我的数据中包括垃圾箱宽度。所以我做了这个:
f(x)定义返回给定延迟的框宽-它的工作方式如下:
然后,我只使用绘图命令中的f(延迟)作为框的宽度。
据我所知,这个方法似乎工作得很好。它不能给出x< 64 ns的正确结果,但是我没有那么小的数据,所以它就算出来了。可以使用条件表达式对范围的该部分进行修补。
我认为这里的主要观察是:( a)您不需要将宽度作为文字数据--如果您可以从您拥有的数据中计算它,那么您是黄金的,并且( b)列(N)是$n的另一种替代方法,它是在绘图命令中表示列值的一种方式。在我的例子中,所有这些都在bash脚本中,bash截获了$1。
https://stackoverflow.com/questions/22645428
复制相似问题