Gnuplot: Как добавить yerrorbars в гистограмму, которая построена с использованием "newhistogram" для нескольких кластерных гистограмм? - PullRequest
0 голосов
/ 08 июля 2019

Я поместил кластеризованный набор данных в тот же график гистограммы.Поскольку у меня есть несколько кластеризованных наборов данных, я использовал практическую команду "newhistogram".Это хорошо работает, но я еще не выяснил, как добавить yerrorbars?Я был бы рад, если бы кто-то был знаком с тем, как добавить errobars в команду "newhistogram".

Я уже пытался добавить простую команду "w yerrorbars", включая связанную ссылку на столбец файла данных, но затемГрафик содержал только полосы ошибок (включая среднее в середине), но столбчатая диаграмма больше не была представлена.

...
set datafile separator ','
...
set style data histogram
set style histogram errobars linewidth 1
set bars 0.5

plot newhistogram "Multi-crew ops", 'example.dat' index 0 u 3:xtic(2) t 'Departure', 'example.dat' index 0 u 5:xtic(2) t 'Cruise', 'example.dat' index 0 u 7:xtic(2) t 'Arrival', \
    newhistogram "Reduced-crew ops", 'example.dat' index 1 u 3:xtic(2) t 'Departure', 'example.dat' index 1 u 5:xtic(2) t 'Cruise' , 'example.dat' index 1 u 7:xtic(2) t 'Arrival', \
    newhistogram "Acceptance of crewing-ops", 'example.dat' index 2 u 9:xtic(1) axes x1y2 t 'All phases'

Это не сработало: ...

plot newhistogram "Multi-crew ops", 'example.dat' index 0 u 3:4:xtic(2) t 'Departure' w yerrorbars, ...

Это тоже не сработало:

set datafile separator ','

set style data histogram
set bars 0.5
set style histogram errobars linewidth 1

plot newhistogram "Multi-crew ops", 'example.dat' index 0 u 3:4:xtic(2) t 'Departure', 'example.dat' index 0 u 5:6:xtic(2) t 'Cruise', 'example.dat' index 0 u 7:8:xtic(2) t 'Arrival', \
    newhistogram "Reduced-crew ops", 'example.dat' index 1 u 3:4:xtic(2) t 'Departure', 'example.dat' index 1 u 5:6:xtic(2) t 'Cruise' , 'example.dat' index 1 u 7:8:xtic(2) t 'Arrival', \
    newhistogram "Acceptance of crewing-ops", 'example.dat' index 2 u 9:10:xtic(1) axes x1y2 t 'All phases'

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Наконец, я нашел ответ, как интегрировать панели ошибок в команду новой гистограммы gnuplot.Стиль должен быть установлен на кластер гистограммы .Возможна даже адаптация цветов и т. Д.

...
set style histogram cluster gap 2 errorbars linewidth 2
set style data histogram
...
plot newhistogram "condition 1", 'example.dat' index 0 u 3:4:xtic(2) t 'Departure' lw 2 lc rgb "#32CD32", 'example.dat' index 0 u 5:6:xtic(2) t 'Cruise' lw 2 lc rgb "#6745FF", 'example.dat' index 0 u 7:8:xtic(2) t 'Arrival' lw 2 lc rgb "#FFA057", \
    newhistogram "condition 2", 'example.dat' index 1 u 3:4:xtic(2) lw 2 lc rgb "#32CD32" notitle, 'example.dat' index 1 u 5:6:xtic(2) lw 2 lc rgb "#6745FF" notitle, 'example.dat' index 1 u 7:8:xtic(2) lw 2 lc rgb "#FFA057" notitle, \
    newhistogram "condition 3", 'example.dat' index 2 u 9:10:xtic(1) axes x1y2 t 'All phases' lw 2 lc rgb "#A19CB8"
0 голосов
/ 09 июля 2019

Проблема с командой, которую вы показываете, состоит в том, что для каждого столбца предусмотрен только один столбец входных данных (значение y). Чтобы добавить панели ошибок, вам нужен второй входной столбец, который содержит значение delta-y. Например, где у вас есть

   'example.dat' index 0 u 3:xtic(2) t 'Departure'

Вы должны иметь вместо

   'example.dat' index 0 u 3:N:xtic(2) t 'Departure'

Где N - столбец, содержащий значения ошибок. Если бы ошибки рассчитывались из функции, а не читались из входного столбца, это выглядело бы так:

   'example.dat' index 0 u 3:(func(something)):xtic(2) t 'Departure'
...