如何使用Fortran将具有特殊字符的特定GNUPLOT命令写入txt文件?

时间:2015-04-12 18:23:37

标签: awk plot fortran gnuplot

我想使用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'

提前致谢,

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

只打印'