2013-05-26 4 views
-1

Я знаю, что команда построить круг в Gnuplot:Gnuplot: Как построить каждую строку из файла как отдельную фигуру?

plot 'circle.txt' using 1:2:3 with circles 

Предположим, если circle.txt содержит n строк и каждая строка содержит (centerX, centerY, radius) различных кругов, например:

#x y radius 
0 0 1 
1 1 2 
2 2 3 

Как могу ли я генерировать n изображений, содержащих n разных кругов - по одному изображению в строке?

ответ

2

Это будет работать с Gnuplot 4,4 и выше:

gnuplot> n = "`awk 'END {print NR}' < circle.txt`" 
gnuplot> i=0; while i<n{set term wxt i; plot 'circle.txt' every ::i::i using 1:2:3 with circles; i=i+1} 

Объяснение:

  • "`awk 'END {print NR}' < circle.txt`", чтобы определить количество строк в файле
    (Предупреждение: Это не работа в 32-битной системе Windows)
  • i=0 to s и др счетчик для цикла в то время как
  • while i<n цикла по строкам файла
  • { }, а-п должен быть в фигурных скобках
  • set term wxt i эта часть открывает новое окно для каждого участка
  • отдельных команд по ;
  • plot 'circle.txt' every ::i::i using 1:2:3 with circles этот участок только i-я строка файла. More information on plotting specific lines can be found here.
  • i=i+1 приращения счетчика
+0

@ user69910 Пожалуйста, рассмотреть вопрос о принятии ответа, нажав на галочку (✓) рядом с кнопками голосования или комментируя то, что не работает для вас. – Schorsch