#file #animation #printing #gnuplot
Вопрос:
Я хочу построить столбцы 1 и 2 и распечатать столбец 3 из файла данных, однако я не могу найти способ прямого считывания из файла данных в x
массив или в массив x(n)
, в основном операция заключается в следующем:
do for[j=0:n:1]{
unset label
x = #row j, column 3 of 'file-name.dat'
set label x at 2000, 4000 ...
plot 'file-name.dat' u 1:2 ....
}
Комментарии:
1. Пожалуйста, уточните, что именно вы хотите видеть в сюжете. gnuplot прекрасно способен выводить текст из файла данных непосредственно с помощью
with labels
стиля графика.
Ответ №1:
Ваш вопрос не очень ясен. Пожалуйста, всегда приводите примеры данных. Как выглядят ваши данные и что именно вы хотите построить? Вы хотите построить полный столбец 1 и 2 или только строку j
? Проверьте следующий пример и проверьте help every
и help labels
.
Код:
### plotting labels for animation
reset session
set term gif animate delay 50
set output "SO70101046.gif"
$Data <<EOD
0 0 Time0
1 1 Time1
2 2 Time2
3 3 Time3
4 4 Time4
5 5 Time5
EOD
stats $Data nooutput # get the number of rows
N = STATS_records
set xrange[-1:6]
set yrange[-1:6]
do for [j=0:N-1] {
plot $Data u 1:2 every ::j::j w lp pt 7 title "Data",
'' u (0):(5):3 every ::j::j w labels notitle
}
set output
### end of code
Результат:
Комментарии:
1. Спасибо!!!! Я изменил столбец 3 в файле данных с поплавков на строки, и ваше решение сработало.
2. @akvadiv рад слышать. На StackOverflow: Upvote=ответ был полезен, Принять=ответ решил проблему.