Statistics 绘制统计数据,最好使用gnuplot

Statistics 绘制统计数据,最好使用gnuplot,statistics,gnuplot,Statistics,Gnuplot,我有许多数字数据集,我已经计算了它们的平均值、中间值、偏差、最小值和最大值,我希望将它们可视化(在Linux上,不使用X,将其转换为图像文件) 我已经看到了gnuplot绘制错误条的功能,但是我有几个问题:我的数据集沿着X轴紧密地打包在一起,gnuplot的错误条沿着X轴占用了太多的空间;我只看到它能够绘制一个最小值和一个最大值,中间有一个数据点(大概是一个平均值),我看不出有什么好的方法可以将中间值和偏差拟合到这个模型中 有人知道在gnuplot中解决这些问题的方法吗?或者,也许有比gnupl

我有许多数字数据集,我已经计算了它们的平均值、中间值、偏差、最小值和最大值,我希望将它们可视化(在Linux上,不使用X,将其转换为图像文件)

我已经看到了gnuplot绘制错误条的功能,但是我有几个问题:我的数据集沿着X轴紧密地打包在一起,gnuplot的错误条沿着X轴占用了太多的空间;我只看到它能够绘制一个最小值和一个最大值,中间有一个数据点(大概是一个平均值),我看不出有什么好的方法可以将中间值和偏差拟合到这个模型中


有人知道在gnuplot中解决这些问题的方法吗?或者,也许有比gnuplot更好的程序吗?

我使用R的
lattice
包来绘制统计数据

您可以查看呈现错误条(“置信区间”)的示例脚本

您不需要X来显示图形。打印前,将lattice plot函数包装在
postscript
设备中:

mtxf.ps <- "myBarchart.ps"
postscript(mtxf.ps,
           width = 6,
           height = 4,
           paper = 'special',
           horizontal = F)
mtx.p <- barchart(...) 
print(mtx.p)
dev.off()

R是一种有点奇怪的语言,但一旦你发现它的怪癖,它就会表现出来。是一本关于R的非常好的入门书,也是一本关于如何在不同场景中使用晶格的非常好的书。

我认为你不应该把中值和平均值放在同一个图中,因为它们是根本不同的

显示中间值统计信息的标准方法是,它显示最小值、第一个四分位数、中间值、第三个四分位数和最大值。为了在gnuplot中实现这一点,您必须使用multiplot进行多次传递:

set multiplot
set style fill empty
set boxwidth 0.4
plot "data" using 1:3:2:6:5 with candlesticks lt -1 lw 5 notitle,\
     '' using 1:4:4:4:4 with candlesticks lt -1 lw 10 notitle
set boxwidth 0.3
plot "data" using 1:2:2:2:2 with candlesticks lt -1 lw 5 notitle,\
     '' using 1:6:6:6:6 with candlesticks lt -1 lw 5 notitle
这假设您的“数据”文件按该顺序包含x值、最小值、第一个四分位数、中值、第三个四分位数、最大值列。当然,您可以使用箱宽、线型(
lt
)和线宽(
lw
)来获得所需内容

如果你想用标准差代替平均值,你可以使用标准误差条;我相信您可以使用
boxwidth
来调整错误条的大小


要设置输出类型,请使用
set terminal
。我建议使用矢量格式以避免像素化。在gnuplot提示符下,您可以通过帮助设置终端来查看安装中可用的终端。此外,如果可用,请使用
butt
选项(防止线路“超调”)。

除了Svante的答案外,您还可以使用

set bars small 
删除错误栏上的“x部件”。比如说,

#!/bin/bash
echo "1 2 2.0 2.4
2 4 3.9 4.5
3 1.4 0.1 1.5
4 2.9 2.2 4" > "data.dat"
gnuplot<<EOF
set term png small; set output "data.png"
set xrange [0:5]; set yrange [0:5]
set bars small
plot "./data.dat" using 1:2:3:4 with errorbars
set output ; set term pop
EOF
#/bin/bash
回声“12.0 2.4
2 4 3.9 4.5
3 1.4 0.1 1.5
4 2.9 2.2 4“>“数据.dat”

gnuplot您可以查看——它是一个GPL绘图库,可以在控制台中绘图(不需要X)。而且它比gnuplot具有更大的图形类型集(包括用于2范围和3范围数据的图形类型)。

我几乎怀疑R就是答案。:)我想这将是一个很好的机会去看看。谢谢
#!/bin/bash
echo "1 2 2.0 2.4
2 4 3.9 4.5
3 1.4 0.1 1.5
4 2.9 2.2 4" > "data.dat"
gnuplot<<EOF
set term png small; set output "data.png"
set xrange [0:5]; set yrange [0:5]
set bars small
plot "./data.dat" using 1:2:3:4 with errorbars
set output ; set term pop
EOF