Как построить точечные данные?

8923
Juanjo Conti

Я хотел бы превратить файл как:

Name X Y a 1 2 b 4 1 s 3 3 

на графике XY с точками XY, помеченными как Name.

Как мне это сделать? Я думаю, что это можно сделать с помощью gnuplot, но я пока не смог этого сделать.

6
Я вполне уверен, что gnuplot тоже может это сделать, но я не мастер, извини. :( Paul Nathan 14 лет назад 0

2 ответа на вопрос

6
mrucci

Вы можете поместить метки с указанным смещением от точек, используя следующую команду gnuplot:

echo "plot 'file.dat' using 2:3 pt 2 notitle, '' using 2:3:1 with labels offset 0.5,0.5 notitle;" | gnuplot -persist 

NB: работает, только если gnuplot был скомпилирован с --enable-datastrings (спасибо DaveParillo за разъяснения)

+1 приятно избежать отдельного файла ярлыка. Я всегда так делал и не думал, что есть другой путь. DaveParillo 14 лет назад 0
К вашему сведению: если этот пример не работает для кого-то - стиль меток доступен только в том случае, если gnuplot собран с опцией конфигурации --enable-datastrings DaveParillo 14 лет назад 3
Если не доступно, ошибка выглядит как «Недостаточно столбцов для этого стиля»? Я думаю, что это не доступно здесь, где я нахожусь :( KcFnMi 7 лет назад 0
2
DaveParillo

Сюжет Гну не может сделать это один. Я не знаю, что делать с текстом. Если ваши данные существуют в файле с именем file.dat, то:

perl -ane 'print "set label \"($F[0])\" at $F[1],$F[2]\n"' file.dat > label.plt 

создаст файл метки, который вы можете использовать в gnuplot. Затем вы можете создать (очень простой) график, подобный этому:

gnuplot> load "label.plt" gnuplot> plot 'file.dat' u 2:3 

Вы можете возиться со смещением метки, если хотите. Например,

"set label \"($F[0])\" at $F[1]+0.05,$F[2]+0.05\n"' 

немного смещает метки, чтобы они не соответствовали вашим точкам зрения.

Похожие вопросы