我想使用Fortran将GNUPLOT命令写入txt文件,我可以为大多数简单命令执行此操作,但是编写包含特殊字符或AWK命令的命令时遇到问题。
假设我有一个三列输入文件。第一列用于设置其坐标存储在第2列和第3列中的点的颜色。
例如,我的输入文件名为" Input.dat"如下:
blue 1 1
red 2 1
red 3 0
blue 4 1
red 5 1
blue 6 1
我使用以下包含GNUPLOTs命令的txt文件,我用它来绘制我的输入文件。
GNUPLOT.txt:
plot "< awk '{if($1 == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \
"< awk '{if($1 == \"red\") print}' Input.dat" u 2:3 t "red" w p pt 7
pause -1
我需要使用Fortran命令创建此输入txt文件,但我不能! 你能告诉我如何使用Fortran命令创建像GNUPLOT.txt这样的txt文件吗?
我没有运气使用以下命令:
write( 'GNUPLOT.txt', * )'set pointsize 3'
write( 'GNUPLOT.txt', * )'plot "< awk '{if($1 == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 'GNUPLOT.txt', * )'"< awk '{if($1 == \"red\") print}' Input.dat" u 2:3 t "red" w p pt 7'
write( 'GNUPLOT.txt', * )'pause -1'
提前致谢,
答案 0 :(得分:2)
write( 11, * ) 'set pointsize 3'
write( 11, * ) 'plot "< awk ''{if($1 == \"blue\") print}'' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 11, * ) '"< awk ''{if($1 == \"red\") print}'' Input.dat" u 2:3 t "red" w p pt 7'
write( 11, * ) 'pause -1'
在字符串中,您必须将用于分隔字符串的字符加倍。
例如,
print *,''''
end
只打印'
。