瞬间集分享 http://blog.sciencenet.cn/u/yusufma 激光,光谱学,生物医学光子学

博文

谈谈gnuplot(十八):图例

已有 18195 次阅读 2011-11-1 02:33 |个人分类:开源软件|系统分类:科研笔记|关键词:gnuplot,数学,画图,软件,图列,key,style| 数学, 软件, 画图, Gnuplot, 图列

在同一图像中包含多组数据或函数时,图例是必要的。我们这一次谈一谈图例的微调。

这次来画前 3 阶的第一类贝塞尔函数 Jn(x)。在 gnuplot 里,0 阶和 1 阶贝塞尔函数已经定义了,分别为 besj0(x)besj1(x),而 2 阶贝塞尔函数可以通过递推关系构造出来。下面是例子:
gnuplot> set term wxt enhanced
gnuplot> besj2(x) = besj1(x)*2/x - besj0(x)
gnuplot> set xrange [0:20]
gnuplot> set xtics 2
gnuplot> set xlabel "X"
gnuplot> set ylabel "Y"
gnuplot> set title "Bessel Functions of the First Kind"
gnuplot> set grid
gnuplot> set style line 1 lw 2 lc rgb "#F62217"
gnuplot> set style line 2 lw 2 lc rgb "#D4A017"
gnuplot> set style line 3 lw 2 lc rgb "#2B60DE"
gnuplot> plot besj0(x) ls 1 t "J_0(x)", besj1(x) ls 2 t "J_1(x)", besj2(x) ls 3 t "J_2(x)"


之前我们讲过,plot 命令后面可以跟随一些参数(例如 linewidth, linecolor 等)来改变点线风格。在上面的例子中,我们把这些参数单独拿出来放到了 set style 命令里,定义了三个 linestyle,然后在 plot 命令里再调用这些 linestyle。这样子做和我们之前的做法效果上没什么不同,唯一的区别是让 plot 命令短了一些。另外,改变风格可能容易一点。

上面是默认的图例,下面让我们进行微调。
  1. 为图例加上边框
    gnuplot> set key box
    gnuplot> replot

  2. 改变图例显示位置
    gnuplot> set key center at 10,0.7
    gnuplot> replot

  3. 把图例的 title 和图线示例调换位置
    gnuplot> set key reverse
    gnuplot> replot

  4. 调整图例边框宽度 width(或高度 height
    gnuplot> set key width 1
    gnuplot> replot

  5. 调整 title 文字对齐方式(Left 或者 Right,注意首字母大写)
    gnuplot> set key Left
    gnuplot> replot

  6. 调整图例行间隔
    gnuplot> set key spacing 1.2
    gnuplot> replot

  7. 调整图线示例长度
    gnuplot> set key samplen 2
    gnuplot> replot

这些并不是 set key 的全部参数。在 gnuplot 里,如果想深入了解任何命令的详细用法,不要忘记使用 help 命令。


http://blog.sciencenet.cn/blog-373392-503225.html

上一篇:谈谈gnuplot(十七):边框和坐标轴
下一篇:谈谈gnuplot(十九):对数坐标

1 黄富强

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-8-24 17:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部