Условное построение в Gnuplot с использованием fortran 90 - PullRequest
2 голосов
/ 07 февраля 2020

У меня есть мост фермы, который я хочу нарисовать, используя fortran 90 и Gnuplot, но элементы фермы должны изменить цвет, если соответствующий элемент массива больше или меньше нуля

open(10,file='plot_2D.plt')
write(10,*) 'set title " truss"'
write(10,*) 'set xrange [0:300]'
write(10,*) 'set yrange [0:40]'
write(10,*) 'set xlabel "x [U]"'
write(10,*) 'set ylabel "y [U]"' 
write(10,*) 'set key noautotitle'        
write(10,*) 'plot "1.txt" if (x(1) > 0 ) {with line 7} else { with line lt 3 } '
write(10,*) 'pause -1 "Hit return to continue"'
close(10)   

Конечно, у меня есть 1 .txt до 222.txt, но я просто поставил один здесь, потому что это повторяющийся процесс
но я не получаю никакого сюжета, в чем моя ошибка?

1 Ответ

3 голосов
/ 07 февраля 2020

Непонятно, что именно вы подразумеваете под x(1) > 0, поскольку не определена функция x (). Предполагая, что x(1) означает data value in column 1, тогда вместо

write(10,*) 'plot "1.txt" if (x(1) > 0 ) {with line 7} else { with line lt 3 } '

правильный синтаксис будет

write(10,*) 'plot "1.txt" using 1:2:($1>0 ? 7 : 3) with lines linecolor variable'
...