gnuplot 学习笔记(multiplot 输出到文件)
转载请注明出处:http://blog.csdn.net/liyuanbhu/article/details/78242352
前几天在水木上有人问了这么个问题:
用multiplot画多个图能显示在桌面,但是不能输出为图片,请问有人弄过呢?多谢!
其实这个是个非常小的小问题,大家都有能力解决的。这里写出来主要是怕有些人把这个当作是 gnuplot 的 bug(确实有不少人碰到软件问题时不做努力就轻易的下个 bug 的结论)。
下面的演示使用的 gnuplot 5.2。实际上所有的代码在 gnuplot 4.0 以上的版本上运行应该都没问题的。
set size 1, 1
set multiplot layout 2, 2
set size 0.5, 0.5
set origin 0, 0
plot sin(x)
set origin 0, 0.5
plot cos(x)
set origin 0.5, 0
plot x**2
set origin 0.5, 0.5
plot x**3
unset multiplot
这么个测试代码,输出窗口是这样的:
通常,我们要将图像输出到文件时是这样干的:
set size 1, 1
set multiplot layout 2, 2
set size 0.5, 0.5
set origin 0, 0
plot sin(x)
set origin 0, 0.5
plot cos(x)
set origin 0.5, 0
plot x**2
set origin 0.5, 0.5
plot x**3
unset multiplot
set term push
set term png
set output "fig2.png"
replot
set output
set term pop
大家注意最后几行,设置 term,output 然后 replot 一下。
可以这样设置之后输出的结果是:
也就是只把最后一幅图给输出出来了。
正确的做法应该是这样的:
set term push
set term png
set output "fig3.png"
set size 1, 1
set multiplot layout 2, 2
set size 0.5, 0.5
set origin 0, 0
plot sin(x)
set origin 0, 0.5
plot cos(x)
set origin 0.5, 0
plot x**2
set origin 0.5, 0.5
plot x**3
unset multiplot
set output
set term pop
这样输出的图像是:
至此,这个小问题就解决了。