GNUPLOT:多个直方图,每个直方图带有标准化条
首先,我想说我对gnuplot非常陌生。我试图绘制多个已标准化的堆叠直方图,以便每个条形的高度为1。我也希望无需修改我的数据文件,将总数作为最后一个条目,因为我有很多数据文件要绘制,这将花费很多时间。我环顾四周,我知道这是可以做到的,但我没有成功地将我发现的示例改编成我正在使用的代码。 我使用的数据文件(缩短了很多)名为“Test.dat”,格式如下:GNUPLOT:多个直方图,每个直方图带有标准化条,gnuplot,histogram,Gnuplot,Histogram,首先,我想说我对gnuplot非常陌生。我试图绘制多个已标准化的堆叠直方图,以便每个条形的高度为1。我也希望无需修改我的数据文件,将总数作为最后一个条目,因为我有很多数据文件要绘制,这将花费很多时间。我环顾四周,我知道这是可以做到的,但我没有成功地将我发现的示例改编成我正在使用的代码。 我使用的数据文件(缩短了很多)名为“Test.dat”,格式如下: #a = 2 #b 1 2 3 X b=1 1 3 1 b=2 0 1 1 #a = 4 b 1 2
#a = 2
#b 1 2 3 X
b=1 1 3 1
b=2 0 1 1
#a = 4
b 1 2 3 X
b=1 1 1.5 1.5
b=2 1 2.1 1.9
在这里,以b=x开始的每一行都是一个单条,并且有两组两条对应于a=x的条。我的.gp文件当前看起来如下所示:
set style data histogram
set style histogram rowstacked gap .5 title offset 0, -1
set style fill solid border -1
set boxwidth .75 relative
set yrange [0:]
unset xtics
plot \\
newhistogram "b=2" lt 1, for[col=2:4] 'Test.dat' index 0 u col:xtic(1) notitle \
,newhistogram "b=4" lt 1, for[col=2:4] 'Test.dat' index 1 u col:xtic(1) notitle \
这给了我们一个机会,但这是。如果您能提供任何帮助,我将不胜感激
“b=1”
和“b=2”
,但在脚本中使用的是“b=2”
和b=4
gnuplot
能够生成堆叠的直方图,但无法自动将其标准化,只能手动:-/
set style data histogram
set style histogram rowstacked gap .5 title offset 0, -1
set style fill solid border -1
set boxwidth .75 relative
set yrange [0:]
unset xtics
plot \\\
newhistogram "b=1" lt 1, for[col=2:4] 'Test.dat' index 0 u (column(col)/$5):xtic(1) notitle, \
newhistogram "b=2" lt 1, for[col=2:4] 'Test.dat' index 1 u (column(col)/$5):xtic(1) notitle
“b=1”
和“b=2”
,但在脚本中使用的是“b=2”
和b=4
gnuplot
能够生成堆叠的直方图,但无法自动将其标准化,只能手动:-/
set style data histogram
set style histogram rowstacked gap .5 title offset 0, -1
set style fill solid border -1
set boxwidth .75 relative
set yrange [0:]
unset xtics
plot \\\
newhistogram "b=1" lt 1, for[col=2:4] 'Test.dat' index 0 u (column(col)/$5):xtic(1) notitle, \
newhistogram "b=2" lt 1, for[col=2:4] 'Test.dat' index 1 u (column(col)/$5):xtic(1) notitle
评论1-3是我在这里复制的错误。谢谢你的回复,很遗憾你不能在gnuplot中定义一个函数来完成这项工作,但是谢谢anway。注释1-3是我在这里复制的错误。谢谢你的回复,很遗憾你不能在gnuplot中定义一个函数来实现这一点,但是谢谢anway。