среднее значение и доверительный интервал с gnuplot

У меня есть такие необработанные данные:

x1      val1
x1      val2
x1      val3
x1      val4
x2      val5
x2      val6
x2      val7
x3      val8
...

И я хочу сделать линейный график с x1,x2,...xn как значение X и среднее (val1, val2, val3, val4), среднее (val5, val6... как значения Y.

  • Возможно ли это в gnuplot?
  • Могу ли я отображать доверительный интервал?
  • Могу ли я игнорировать самое высокое и самое низкое значение в каждом x?

Спасибо!!

PD: Это пример с PROC GPLOT


person Daniel Argüelles    schedule 05.04.2012    source источник
comment
Это очень сложная задача, которую можно решить, используя только gnuplot. Если вы можете написать небольшой скрипт, который будет правильно форматировать данные для вас на другом языке, задача будет намного проще. plot "< myscript mydatafile" using ...   -  person mgilson    schedule 06.04.2012
comment
Спасибо, я использую awk для форматирования данных.   -  person Daniel Argüelles    schedule 06.04.2012


Ответы (1)


Вообще gnuplot не очень хорошо выполняет усреднение. Однако в вашем случае вам может повезти, если ваши данные отсортированы по X-значениям, и вы хотите усреднить по строкам с одним и тем же X-значением, вы можете указать gnuplot усреднение/сумму, используя опцию «smooth». Смотрите «помочь сгладить уникальные» и «помочь сгладить частоту». Таким образом, вы должны быть в состоянии сделать что-то вроде

plot 'raw_data.txt' u 1:2 гладкий уникальный

Я не знаю, как пропустить точки в gnuplot без особых усилий. Чтобы сделать более сложный расчет, вы всегда можете написать свою собственную функцию обработки данных, а затем запустить ее по данным и впоследствии построить ее, см., например:

http://gnuplot-tricks.blogspot.com/2010/01/further-new-features-in-gnuplot-44.html

or

http://gnuplot-tricks.blogspot.com/search?q=average

Но с этими вещами, вероятно, лучше всего справляется внешний скрипт.

person Arun    schedule 03.10.2012