实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

作者前言

对于科技工作者来说,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}”

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

这里我们看到了@ 的作用

“abc&{de}fg”

abc   fg

这里& 后面的字符没有显示,留出一段和这些字符同样宽度的空白

“~a{1.2\_}”

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

注意这里的两个反斜杠。因为下横杠(_)是一个特殊字符,需要在前面加反斜杠n 来表示它本来的意义,而反斜杠本身也是一个特殊字符,需要在它前面再加一个反斜杠。我们在第四讲里谈到过双引号和单引号的区别。如果我们在这里用单引号而不是双引号,那么只需要一个反斜杠就可以了。这里的1.2 表示后面的字符(_)向上移动1.2 个字符大小的距离。

{/Symbol abc}abc

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

这里第一个花括号里的abc 使用了Symbol 字体,而后面括号外的abc 使用的是默认字体。注意字体名称前的斜杠方向。这里我们看到,Symbol 字体里的英文字母对应显示的是希腊字母。Symbol 字体里还包括了一些其它符号,下面是完整的Symbol 字体列表:

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

上面图中显示的是Symbol 字体对应的16进制代码。例如上面例子中的希腊字母,对应的16进制代码分别为61、62、63,转换为8进制代码就是141、142、143。在gnuplot 里,我们可以直接用字符的8进制代码表示这个字符,所以我们也可以用{/Symbol 141142143} 来表示实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式。根据上面的内容,下面是一个综合起来的例子:

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)

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

虽然利用enhanced 模式也能显示一些简单的数学表达式,但是对于稍微复杂一点的公式来说,显示效果无法令人满意。要在gnuplot 里显示数学公式,终极方案还是要用LATEX。

关于如何插入LATEX公式,我们将会在下一篇文章中继续讲解。

本文整理自马欢老师科学网博客,特此感谢原作者的分享。

 

想看到Gunplot实际操作?”基于CP2K电子结构理论计算线上培训班”回放视频现已上线,CP2K开发和应用者兰晶岗博士主讲,内容涵盖Linux入门知识,密度泛函/优化方法/自洽场, 使用数据库构建晶体模型,表面吸附/过渡态理论。长达13个小时的实操讲解,100%好评率,精彩不容错过!

 

课程试听请戳:https://ke.qq.com/course/270047

实用干货|Gnuplot科学绘图(七)-Enhanced 文本模式

本文转载自马欢老师科学网博客,转载目的在于知识分享,本文观点不代表V-suan云平台立场。

原创文章,作者:菜菜欧尼酱,如若转载,请注明来源华算科技,注明出处:https://www.v-suan.com/index.php/2023/12/01/c1202a23a2/

(0)

相关推荐