如何使用 Fortran 将带有特殊字符的特定 GNUPLOT 命令写入 txt 文件?
How to use Fortran to write a specific GNUPLOT command with special characters in to a txt file?
我想使用 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
我使用以下包含 GNUPLOT 命令的 txt 文件,我用它来绘制我的输入文件。
GNUPLOT.txt:
plot "< awk '{if( == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \
"< awk '{if( == \"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( == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 'GNUPLOT.txt', * )'"< awk '{if( == \"red\") print}' Input.dat" u 2:3 t "red" w p pt 7'
write( 'GNUPLOT.txt', * )'pause -1'
提前致谢,
write( 11, * ) 'set pointsize 3'
write( 11, * ) 'plot "< awk ''{if( == \"blue\") print}'' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 11, * ) '"< awk ''{if( == \"red\") print}'' Input.dat" u 2:3 t "red" w p pt 7'
write( 11, * ) 'pause -1'
在字符串中,您必须将用于分隔字符串的字符加倍。
例如,
print *,''''
end
将只打印 '
.
我想使用 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
我使用以下包含 GNUPLOT 命令的 txt 文件,我用它来绘制我的输入文件。
GNUPLOT.txt:
plot "< awk '{if( == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \
"< awk '{if( == \"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( == \"blue\") print}' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 'GNUPLOT.txt', * )'"< awk '{if( == \"red\") print}' Input.dat" u 2:3 t "red" w p pt 7'
write( 'GNUPLOT.txt', * )'pause -1'
提前致谢,
write( 11, * ) 'set pointsize 3'
write( 11, * ) 'plot "< awk ''{if( == \"blue\") print}'' Input.dat" u 2:3 t "blue" w p pt 7, \'
write( 11, * ) '"< awk ''{if( == \"red\") print}'' Input.dat" u 2:3 t "red" w p pt 7'
write( 11, * ) 'pause -1'
在字符串中,您必须将用于分隔字符串的字符加倍。
例如,
print *,''''
end
将只打印 '
.