对于科技工作者来说,gnuplot 是一个非常好用的绘图软件。因为感慨于gnuplot 中文资料和文档的缺乏,我于数月之前在科学网博客开始撰写“谈谈gnuplot”系列博文,至今已写了四十五篇。
【作者前言】
虽然还有不少细节问题没有涉及,但是我觉得这些博文已经可以构成一个比较完整的gnuplot 中文教程。对大多数用户来说,这一系列博文已经涵盖了日常应用的需要。为了方便大家阅读,我现在将这一系列博文集结编辑成为此教程,以CC BY-NC-SA 知识共享协议发布。
上一次我们谈过,在gnuplot 里使用enhanced 模式(详见
)虽然可以生成一些简单的数学表达式,但是对于稍复杂的数学公式来说,enhanced 模式没办法生成令人满意的结果。这里我们介绍gnuplot的另外一个terminal:epslatex。
epslatex 和我们之前介绍过的postscript eps 输出方式非常接近,因此它们很多参数都是相同的。区别在于,epslatex 使用postscript eps 仅生成图形存于eps 文件,而所有文字标签包含在另外一个LATEX 文件中。在gnuplot 完成输出之后,使用LATEX 命令最终生成完整的图片。这种做法的好处是不言而喻的,即使在输出完成后,我们仍然可以编辑LATEX 文件获得我们想要的显示效果。
下面我们看例子:
gnuplot> set xlabel ’X’
gnuplot> set ylabel ’Y’
gnuplot> set title ’ Error ␣ function ␣$ displaystyle mathrm{ e r f }( x ) ␣=␣ frac {
sqrt { pi }}␣ int_0^x␣ e^{t ^2} ,mathrm t$ ’
gnuplot> set xrange [ -4 : 4]
gnuplot> set yrange [ -1 . 1 : 1 . 1 ]
gnuplot> unset key
gnuplot> set term epslatexs tandalone lw 2 color 11
gnuplot> set output ” erf . tex ”
gnuplot> plot erf ( x ) lw 2
gnuplot> set output
前三行的标签文字,我们使用了单引号,避免了双引号内需要连着两个反斜杠的麻烦。在title 里面,我们使用了LATEX 数学公式。在set term 命令里,standalone 是一个新的参数,它表示生成完整的LATEX 文件。如果没有这个参数,生成的LATEX 文件将不能单独编译,必须把代码插入其它的LATEX 文件中编译。set term 最后的数字11 代表字体大小。set output 只需指定LATEX 文件名,而26不需要指定eps 文件名。
我们谈到过gnuplot 包含很多预定义的函数,这里的erf 就是其中之一,表示误差函数。我们通过epstopdf 命令将生成的eps 图片转为pdf,然后用pdflatex 命令可以把图片直接编译为pdf 文件,下面是显示的效果:
怎么样?LATEX 的数学公式效果真不是盖的。
本文整理自马欢老师科学网博客,特此感谢原作者的分享。
想看到Gunplot实际操作?”基于CP2K电子结构理论计算线上培训班”回放视频现已上线,CP2K开发和应用者兰晶岗博士主讲,内容涵盖Linux入门知识,密度泛函/优化方法/自洽场, 使用数据库构建晶体模型,表面吸附/过渡态理论。长达13个小时的实操讲解,100%好评率,精彩不容错过!
本文整理自马欢老师科学网博客,特此感谢原作者的分享。
课程试听请戳:https://ke.qq.com/course/270047
本文转载自马欢老师科学网博客,转载目的在于知识分享,本文观点不代表V-suan云平台立场。
原创文章,作者:菜菜欧尼酱,如若转载,请注明来源华算科技,注明出处:https://www.v-suan.com/index.php/2023/12/01/85444fc153/