gnuplot: как я могу добавить панели ошибок, которые начинаются с 0? - PullRequest
1 голос
/ 22 марта 2020

Я хочу добавить гистограммы к моей гистограмме, которые начинаются с 0.

Примеры, такие как это и это , но оба они начинаются с пика гистограмма.

Вот как я сейчас создаю гистограммы:

set style histogram clustered

unset title
set xlabel "X"
set ylabel "Y"
set boxwidth 1
set style fill solid
set term png
set output "figure.png"

plot [-0.5:4.5][0:10] "data.dat"using 2:xtic(1) title "Title 1" with histograms fillstyle pattern 1, \
    "" using 3 title "Title 2" with histograms fillstyle pattern 2, \
    "" using 4 title "Title 3" with histograms fillstyle pattern 3

Я могу добавить 4-й столбец в мой файл data.dat, который будет иметь высоту ошибка, но я не знаю правильный способ ее построения.

РЕДАКТИРОВАТЬ:

set style fill solid 1.0
w = 0.15
set boxwidth 0.3
set key top right

set xlabel "X"
set ylabel "Y"
set xrange[0.5:5.9]
set yrange[0:300]
set xtics 1

plot "data.dat" u ($1-w):2 w boxes lc rgb "read" ti "Title 1", \
     '' u ($1+w):3 w boxes lc rgb "green" ti "Title 2", \
     '' u ($1+w*3):4 w boxes lc rgb "blue" ti "Title 3", \
     '' u ($1-w):5 w impulses dt 3 lw 3 lc rgb "black" ti "Title 4", \
     '' u ($1-w):5 w p pt 7 ps 1 lc rgb "black" not, \
     '' u ($1+w):6 w impulses dt 3 lw 3 lc rgb "black" not, \
     '' u ($1+w):6 w p pt 7 ps 1 lc rgb "black" not, \
     '' u ($1+w*3):7 w impulses dt 3 lw 3 lc rgb "black" not, \
     '' u ($1+w*3):7 w p pt 7 ps 1 lc rgb "black" not, \
     '' u 0:(NaN):xtic(1) not

1 Ответ

1 голос
/ 22 марта 2020

Почему бы не нарисовать это "вручную" with boxes и with impulses и with points? Вы не предоставили пример данных, поэтому я создал некоторые данные. Например, вот так. Возможно, есть более короткие пути.

Редактировать: Использование строк xti c вместо чисел.

Код:

### manual histogram and percentile line
reset session

# n MedianX MedianY  Perc90x  Perc90y
$Data <<EOD
  A     7.1     6.2     20.3     16.4
  B     8.1     7.2     22.3     17.4
  C     9.1     8.2     24.3     18.4
  D    10.1     9.2     26.3     19.4
  E    11.1    10.2     28.3     20.4
EOD

set style fill solid 1.0
w = 0.15
set boxwidth 0.3
set key top left
set xrange[-0.5:4.5]
set xtics 1

plot $Data u ($0-w):2 w boxes lc rgb "red" ti "Median x", \
     '' u ($0+w):3 w boxes lc rgb "blue" ti "Median y", \
     '' u ($0-w):4 w impulses dt 3 lc rgb "black" ti "90th Percentile", \
     '' u ($0-w):4 w p pt 7 ps 1 lc rgb "black" not, \
     '' u ($0+w):5 w impulses dt 3 lc rgb "black" not, \
     '' u ($0+w):5 w p pt 7 ps 1 lc rgb "black" not, \
     '' u 0:(NaN):xtic(1) not
### end of code

Результат:

enter image description here

Добавление: (для 3 столбцов и with errorlines вместо из impulses и points)

Код:

### manual histogram and percentile line
reset session

# n MedianX MedianY MedianZ  Perc90x  Perc90y  Perc90z
$Data <<EOD                                  
  A     7.1     6.2     5.3     20.4     16.5     12.6
  B     8.1     7.2     6.3     22.4     17.5     13.6
  C     9.1     8.2     7.3     24.4     18.5     14.6
  D    10.1     9.2     8.3     26.4     19.5     15.6
  E    11.1    10.2     9.3     28.4     20.5     16.6
EOD

set style fill solid 1.0
w = 0.20
set boxwidth 0.20
set key top left
set xrange[-0.5:4.5]
set xtics 1

plot $Data u ($0-w):2 w boxes lc rgb "red" ti "Median x", \
     '' u ($0):3 w boxes lc rgb "blue" ti "Median y", \
     '' u ($0+w):4 w boxes lc rgb "web-green" ti "Median z", \
     '' u ($0-w):(0):(0):5 w errorlines ls 0 ti "90th Percentile", \
     '' u ($0):(0):(0):6 w errorlines ls 0 not, \
     '' u ($0+w):(0):(0):7 w errorlines ls 0 not, \
     '' u 0:(NaN):xtic(1) not, \
### end of code

Результат:

enter image description here

...