gnuplot:带错误条的行堆叠条形图
我是gnuplot的新手。我想从具有三个分量和标准差的数据点生成图形。 我的数据如下所示:gnuplot:带错误条的行堆叠条形图,plot,gnuplot,histogram,bar-chart,Plot,Gnuplot,Histogram,Bar Chart,我是gnuplot的新手。我想从具有三个分量和标准差的数据点生成图形。 我的数据如下所示: TYPE1 15 20 65 5 TYPE2 20 20 60 4 TYPE3 10 30 60 6 TYPE4 30 30 40 5 我想为每种类型绘制一个rowstacked条形图,其中3个组件堆叠在一起,顶部有一个errobar。 为此,我编写了以下脚本: set terminal png set output "sample.png" set boxwid
TYPE1 15 20 65 5
TYPE2 20 20 60 4
TYPE3 10 30 60 6
TYPE4 30 30 40 5
我想为每种类型绘制一个rowstacked条形图,其中3个组件堆叠在一起,顶部有一个errobar。
为此,我编写了以下脚本:
set terminal png
set output "sample.png"
set boxwidth 0.75 relative
set style fill pattern 0 border
set style histogram rowstacked
set style data histograms
set xtics 1000 nomirror
set ytics 100 nomirror
set noytics
set mxtics 2
set mytics 2
set ytics 100
set yrange [0:150]
set ylabel "Y"
set xlabel "X"
set title "Sample graph"
plot 'data.dat' using (100*column(2)/(column(2)+column(3)+column(4))) t "A" , '' using (100*column(3)/(column(2)+column(3)+column(4))) t "B" , '' using (100*column(4)/(column(2)+column(3)+column(4))):xtic(1) t "C"
这生成了一个如下所示的图形:
但我无法在第5列中的偏差值中得到每个条顶部的errorbar。我尝试了不同的方法使用rowstacked和errorbar样式的条形图,但没有成功。为此,您必须知道,使用
柱状图样式,框被放置在x位置0
,1
,等等,即在行号处
因此,对于错误条
必须使用列(0)
作为x坐标:
set terminal pngcairo
set output "sample.png"
set boxwidth 0.75 relative
set style fill pattern 0 border
set style histogram rowstacked
set style data histograms
set yrange [0:150]
set macros
scale = '100/(column(2)+column(3)+column(4))'
set bars 2.0
plot 'data.dat' using ($2 * @scale):xtic(1) t "A" , \
'' using ($3 * @scale) t "B" , \
'' using ($4 * @scale) t "C",\
'' using 0:(100):5 with errorbars notitle lw 2 lt -1
4.6.3的结果是:
为了方便起见,我使用了宏刻度。宏的工作方式如下:在上面的脚本中定义一个字符串,如scale='…'
。以后可以在任何表达式中用作@scale
(必须启用设置宏
)。然后,在执行相应的命令之前,替换比例
字符串的内容