6

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

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

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

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

2 ответа2

6

Вы можете поместить метки с указанным смещением от точек, используя следующую команду 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 за разъяснения)

2

Сюжет Гну не может сделать это один. Я не знаю, что делать с текстом. Если ваши данные существуют в файле с именем 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"' 

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .