【作者前言】
对于科技工作者来说,gnuplot 是一个非常好用的绘图软件。因为感慨于gnuplot 中文资料和文档的缺乏,我于数月之前在科学网博客开始撰写“谈谈gnuplot”系列博文,至今已写了四十五篇。
虽然还有不少细节问题没有涉及,但是我觉得这些博文已经可以构成一个比较完整的gnuplot 中文教程。对大多数用户来说,这一系列博文已经涵盖了日常应用的需要。为了方便大家阅读,我现在将这一系列博文集结编辑成为此教程,以CC BY-NC-SA 知识共享协议发布。
我们之前的图像里的title、xlabel 等标签里用到的都是纯文本字符串,如果我们希望输出稍复杂一点的文字标签,例如字母加角标,我们可以使用enhanced 文本模式。
gnuplot 里面好多terminal 都支持enhanced 模式,使用方法就是在set terminal 的时候,在后面加上enhanced 参数。enhanced 模式里有一些表达特殊含义的字符,利用这些字符可以构成一些
比较复杂的文字输出。这些特殊字符主要包括:
1. ˆ:表示后面的字符为上角标
2. _:表示后面的字符为下角标
3. @:表示后面的字符不占任何宽度
4. &{“string”}:表示一段空白,空白的长度等于花括号内那段字符串所占宽度
5. ˜:表示后面的两个字符重叠打印(相当于打字机在同一位置打印两个字符);也可以在第二个字符前加上一个数字,表示第二个字符相对于第一个字符有一个竖直方向的移动,移动距离等于该数字乘以字符尺寸。
上面提到的“字符”,也可以是包含在花括号({})内的“字符串”。除了上面这些特殊标志,还可以临时改变字符(或字符串)的字体,方法是:{/字体名=字体大小字符}下面我们看一些例子:
▪ “a^x”
ax
▪ “a_x”
ax
▪ “a^b_{cd}”
abcd
这里的上下角标没有对齐,因为上标b 需要占一定宽度
“a^@b_{cd}”
这里我们看到了@ 的作用
“abc&{de}fg”
abc fg
这里& 后面的字符没有显示,留出一段和这些字符同样宽度的空白
“~a{1.2\_}”
注意这里的两个反斜杠。因为下横杠(_)是一个特殊字符,需要在前面加反斜杠n 来表示它本来的意义,而反斜杠本身也是一个特殊字符,需要在它前面再加一个反斜杠。我们在第四讲里谈到过双引号和单引号的区别。如果我们在这里用单引号而不是双引号,那么只需要一个反斜杠就可以了。这里的1.2 表示后面的字符(_)向上移动1.2 个字符大小的距离。
{/Symbol abc}abc
这里第一个花括号里的abc 使用了Symbol 字体,而后面括号外的abc 使用的是默认字体。注意字体名称前的斜杠方向。这里我们看到,Symbol 字体里的英文字母对应显示的是希腊字母。Symbol 字体里还包括了一些其它符号,下面是完整的Symbol 字体列表:
上面图中显示的是Symbol 字体对应的16进制代码。例如上面例子中的希腊字母,对应的16进制代码分别为61、62、63,转换为8进制代码就是141、142、143。在gnuplot 里,我们可以直接用字符的8进制代码表示这个字符,所以我们也可以用{/Symbol 141142143} 来表示。根据上面的内容,下面是一个综合起来的例子:
gnuplot> set term wxt enhanced
gnuplot> set xlabel “X”
gnuplot> set ylabel “Y”
gnuplot> set xrange [ 0 : 1 0 ]
gnuplot> set xtics 0 ,1 ,10
gnuplot> unset key
gnuplot> set title ” f ( x ) ␣=␣{/Symbol=16␣326}~{x^@3}{1.1{/ Symbol=16␣276}}&{ aa }
>␣函数图像”
gnuplot> plot sqrt ( x**3)
虽然利用enhanced 模式也能显示一些简单的数学表达式,但是对于稍微复杂一点的公式来说,显示效果无法令人满意。要在gnuplot 里显示数学公式,终极方案还是要用LATEX。
关于如何插入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/c1202a23a2/