如何解决在循环Gunplot中绘制1,2个多图
我在为for循环中的多个txt文件生成1x2多重绘图时遇到问题。通过以下脚本,我可以在加载不同的txt文件时生成和输出不同的图片。但是,当我尝试在循环内使用multiplot将每个加载文件的两个图合并到一个图中时,gnuplot会提示此消息您不能在多图模式下更改输出
#=======================================
# Loading Data
#=======================================
set term pngcairo size 1200,800 enhanced font "Times-New-Roman,12"
directory = "../Data/"
filelist = system("cd ../Data/ ; ls *.txt")
files = words(Exp_filelist)
filename(i) = word(filelist,i)
do for [i=1:files] {
set output sprintf("picture(x=-%d).png",i)
#set multiplot layout 1,2
#=======================================
# First plot
#=======================================
plot filename(i) using 4:3 with lines notitle
#=======================================
# Second plot
#=======================================
set output sprintf("Picture(x=%d).png",i)
plot filename(i) using 6:3 with lines notitle
}
unset multiplot
reset
我想知道我做错了什么。如何使set multiplot在每个加载的txt文件的for循环内生成1x2?感谢您的帮助。
解决方法
在设置下一个输出之前,您必须关闭multiplot
会话。只需将unset multiplot
之前的set output
移入循环即可。之后,您可以通过set multiplot
“重新打开”多图会话。
set term png
do for [i=1:files] {
set output sprintf("picture(x=-%d).png",i)
set multiplot layout 1,2
plot filename(i) using 4:3 with lines notitle
plot filename(i) using 6:3 with lines notitle
unset multiplot
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。