使用代码时出现以下错误。
gnuplot> set terminal epslatex size 13.1cm,6cm color colortext
Terminal type set to 'epslatex'
Options are ' leveldefault color colortext \
dashed dashlength 1.0 linewidth 1.0 butt noclip \
nobackground \
palfuncparam 2000,0.003 \
input size 13.10cm, 6.00cm "" 11 fontscale 1.0 '
gnuplot> set output 'C:\MajCha\gnuplot\alpha_cl.tex'
gnuplot> filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt'
gnuplot> #
gnuplot> set xrange [-10:10]
gnuplot> set yrange [-3:3]
gnuplot> plot "< awk '$1==-180.0 { print $2, $3 }'" filename using 2:3
warning: Skipping unreadable file "< awk '$1==-180.0 { print $2, $3 }'"
No data in plot
gnuplot> #
gnuplot> unset output
gnuplot> reset
我怎么能修复这个错误。我希望在-180到180的循环范围内检查我§1= -180。请建议我一些可行的方法。
使用以下代码
reset
set terminal epslatex size 13.1cm,6cm color colortext
set output 'C:\MajCha\gnuplot\alpha_cl.tex'
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt'
#
unset key
set xrange [-10:10]
set yrange [-3:3]
plot for [i=-180:180] filename using (($1==i)?$2:1/0):3
#
unset output
reset
reset
set terminal epslatex size 13.1cm,6cm color colortext
set output 'C:\MajCha\gnuplot\alpha_cl.tex'
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt'
#
unset key
set xrange [-10:10]
set yrange [-3:3]
plot for [i=-180:180] filename using (($1==i)?$2:1/0):3 with lines
#
unset output
reset
答案 0 :(得分:1)
由于filename
是MWE中的gnuplot变量,您可以做的是将其内容连接到awk命令:
plot "<awk '$1==-180.0 { print $2, $3 }' ".filename using 1:2
在结束"
之前不要错过空格字符:这将评估命令
awk '$1==-180.0 { print $2, $3 }' C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt
我相信你想做什么。目前,它正在评估没有文件的awk,因此没有数据。
请注意,由于您的awk
命令仅打印$2
和$3
,因此其输出包含2列,因此您可能希望在gnuplot中使用using 1:2
。
最后,如果这个MWE接近你真正希望实现的目标,我建议只删除awk并使用gnuplot命令只是为了简单:
plot filename using (($1==-180)?$2:1/0):3