计算化学公社

 找回密码 Forget password
 注册 Register

gnuplot如何只改变图例的大小但不改变横纵坐标的大小

查看数: 685 | 评论数: 3 | 收藏 Add to favorites 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-10-25 18:21

正文摘要:

想问一下熟悉gnuplot的老师们如何只改变下图中wt和mt的大小,但不改变rmsf和residue的大小。 本人尝试用set key font去更改字体和大小,但是会全部转化,无法单拎出来。貌似key也包括横纵坐标。

回复 Reply

molly85 发表于 Post on 2023-10-27 13:40:25
万里云 发表于 2023-10-26 10:59
调用set key之后再set xlabel/ylabel试试?

曾花了不少时间学gnuplot,有一篇文章的图也全是它画的,但 ...

深有体会,看来需要学习python
万里云 发表于 Post on 2023-10-26 10:59:15
本帖最后由 万里云 于 2023-10-26 11:15 编辑

调用set key之后再set xlabel/ylabel试试?

曾花了不少时间学gnuplot,有一篇文章的图也全是它画的,但现在改用matplotlib了。虽然gnuplot默认风格比matplotlib好看,画简单的图代码量也更少,但作为一种专门作图的语言,gnuplot语法特性是非常欠缺甚至是非常诡异的。例如要输入angstrom符号,居然要改encoding才行。只有一套共享的全局设置,绘制多个风格不同的子图时要不停reset。一个plot命令包揽大部分功能,绘制散点图或者带权重的能带图要带一堆“w s ps var”或者"lc rgv var"这样的参数。这就导致学习成本很高,学完了又只能拿来画图,非常不划算。这方面gnuplot还不如采用C语法的Asymptote。相比之下,python的语法就完善多了。就算不用面向对象的写法,全部写成函数,代码复用率也比gnuplot高。matplotlib里几乎每一种图都有单独的函数,而且可以顾名思义。更重要的是学了python还可以干别的。

其实gnuplot的困境是大多数DSL(domain specific language)所面临的。单独设计一门语言会让用户少敲一些字符,在“大型机+共享终端”时代有一定意义。但需要另外设计语法和解释器、学习成本高、IDE辅助编程工具匮乏等缺点却一直存在。LaTeX报错提示信息很容易不知所云。CMake逐渐屎山化。数学软件中除了Matlab形成了事实标准外(有兼容的Octave和部分兼容的Scilab),大部分也是各玩各的没有出圈。通用语言+专用库才是正道。
sobereva 发表于 Post on 2023-10-26 08:15:31
ps一下,10秒钟的事

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 02:30 , Processed in 0.644864 second(s), 26 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list