2016-03-09 2 views
1

Таким образом, у меня есть несколько файлов данных в форматеGnuplot - добавление медиана построить с errorbars И logscale'd оси х

x y ymin ymax 

Что я черчения с yerrorbars.

Как лучше всего добавить медиану значений y на участок, проходящий по всему диапазону x?

UPDATE

Я также черчения оси й в logscale, которая, кажется, предотвратить использование STATS.

ответ

1

Предположим, что ваши данные выглядит следующим образом:

1 8 6 9 
2 6 5 7 
3 5 4 8 
4 6 5 8 

Мы можем использовать команду stats найти медиану. Использование аналогично команде plot. Здесь нам нужно только сделать анализ второго столбца, поэтому мы будем лишь указать второй столбец:

stats datafile u 2 nooutput 

nooutput опция указывает команду, чтобы не печатать результаты. Если мы хотим видеть полный анализ, мы просто опускаем эту спецификацию. По умолчанию команда stats сохраняет свои результаты в переменных вида STATS_ *. При желании мы можем использовать другой префикс. См. help stats для более подробной информации.

На данный момент мы имеем переменную STATS_median, которая хранит медиану значений y (что составляет 6 для данных образца). Теперь мы можем добавить медиану к графику одним из двух способов. Во-первых, мы можем просто добавить спецификацию участок существующей команды участка:

plot datafile u 1:2:3:4 with yerrorbars, STATS_median 

enter image description here

или мы можем добавить строку с командой set arrow, а затем построить только yerrorbars:

set arrow 1 from graph 0, first STATS_median to graph 1, first STATS_median nohead 
plot datafile u 1:2:3:4 with yerrorbars 

enter image description here

Здесь мы приводим координату x в единицах графа, которые колеблются от 0 (слева) до 1 (righ t) и координату y в первой системе координат , которая соответствует оси y1. Задание nohead говорит, чтобы не нарисовать стрелку. 1 сразу после set arrow тегирует эту стрелку как стрелку 1, чтобы мы могли легко ее изменить или удалить.

Другие варианты доступны. См. help arrow для более подробной информации.

+0

Большое вам спасибо. Однако есть небольшая проблема ... Я рисую ось x в '' logscale'', и gnuplot отказывается позволить мне использовать STATS, когда я это делаю. Я не думаю, что у вас есть решение этого? – User1291

+1

@ User1291 Кажется, что все работает отлично, если вы запускаете команду статистики перед тем, как вы выберете 'set logscale x'. Все остальное работает с включенным logscale. – Matthew

+0

Нет, это не ... продолжает говорить мне, что «команда« Статистика недоступна с активным логом ». – User1291

Смежные вопросы