Gnuplot科学绘图(三十二)——填充风格
Gnuplot科学绘图 (三十三)——柱状图Gnuplot科学绘图(三十四)——阶梯图Gnuplot科学绘图(三十五)——数据平滑Gnu plot科学绘图(三十六)——统计直方图Gnuplot科学绘图(三十七)——三元算符和分段函数
Gnuplot科学绘图(三十八)——几何图形对象
上次我们讲了几何图形对象,这次我们介绍一种使用几何图形表示数据的方法。下面这幅图来自美国地质调查局网站,显示的是前三天内(至本文写作时)世界各地发生的 4 级以上地震:
现在,我们用 gnuplot 绘制一张类似的地图,用圆圈大小和颜色表示震级,在地图上标注各地震发生的位置。gnuplot 的 demo 目录里有一个 world.dat 文件,包含世界地图的信息,我们就用它来绘制地图。
随着我们学习的 gnuplot 命令越来越多,绘制一张图的命令越来越复杂。我们可以把所有命令预先存入一个文件中,随后在 gnuplot 里面调用该文件,这样可以方便我们重复使用这些命令。我们把下面这些命令存入名为“commands.gnu”的文件:
rgb(r,g,b)=65536*int(r)+256*int(g)+int(b)
red(x) = 2/3.<=x && x<1? 255*(3-3*x) : 255
green(x) = 0<=x && x<1/3.? 255 : x<2/3.? 255*(2-3*x) : 0
blue(x) = 0<=x && x<1/3.? 255*(1-3*x) : 0
circlecolor(x) = rgb(red((3−2)/5.0),green((3−2)/5.0),green((3-2)/5.0),blue((3−2)/5.0))unsetkeysetxrange[−180:180]setyrange[−90:90]setstylefilltransparentsolid0.6nobordersetobject1rectanglefromgraph0,0tograph1,1fcrgb"light−cyan"behindplot′world.dat′withfilledcurveslcrgb"forest−green", ′earthquakes.dat′using1:2:((3−2)/5.0))unsetkeysetxrange[−180:180]setyrange[−90:90]setstylefilltransparentsolid0.6nobordersetobject1rectanglefromgraph0,0tograph1,1fcrgb"light−cyan"behindplot′world.dat′withfilledcurveslcrgb"forest−green", ′earthquakes.dat′using1:2:((3-3)*2):(circlecolor($3)) with circles lc rgb variable
随后启动 gnuplot,输入下面的命令:
gnuplot> load 'commands.gnu'
这里的 load 命令用来调用刚才预存的文件。于是,我们得到下面这幅图:
现在,我们来解释刚才用到的那些命令:
1 至 5 行定义了一个从数字到 rgb 颜色的映射,这类似于我们之前“色板设置”里讲过的 rgbformulae,只不过在这里我们使用了自己定义的函数。从这里我们也可以看到 rgbformulae 的工作原理。在函数定义中我们使用了“三元算符和分段函数”讲过的问号表达式,可以作为一种复习。
在 set object 命令里我们定义了一个布满整个绘图区域的长方形,并且放置到了 behind 位置,相当于为图像增加了一个背景颜色。
plot 命令里的前半部分用于绘制地图轮廓,后半部分用于绘制表示地震的圆圈。地震数据来源于美国地质调查局网站,存于名为“< style="color: rgb(51, 102, 153);border-width: initial;border-style: none;border-color: initial;padding-left: 20px;background: url("https://mmbiz.qpic.cn/mmbiz_png/Klib3ZlUhAwIYCWsxGI8kfxc3DjcyXaWXdpcpicwZpqjdTngLk30MQE10icJTLjKPOhXMg6nh1iaKKp7AA5MbSlA7A/640?wx_fmt=gif") 0px 50% no-repeat;" target="_blank">earthquakes.dat”的文件中。
这里用到了一个新的绘图风格:circles。圆圈的大小由 using 参数的第 3 列数据指定,圆圈的颜色由 linecolor 参数设置。然而,这里没有指定具体的颜色,而是用了一个特殊的变量——variable。variable 的值由额外的一列数据(即 using 参数的第 4 列数据)指定,因此颜色会随着不同数据改变。
把我们用 gnuplot 绘制的地图和原图比较一下,地震的位置是一致的。
本文整理自马欢老师科学网博客,特此感谢原作者的分享。
Materials Studio系列内容中科大 Materials Studio 培训快速入门教程(包你学会!)
精选众多论坛讨论贴,Materials-Studio 论坛问答全集
怎样把Materials studio能带图做得漂亮,用Matlab绘制呀!
Materials Studio手把手教程丨界面操作、应用与NaCl晶体构建实例
怎么利用Materials Studio建立晶体模型?就是这么简单!
手把手教你用Materials Studio计算碳纳米管的能带结构
基于Materials Studio的异质结构建模技巧
如何分析第一原理计算结果:电荷密度图、能带结构、态密度的分析
70张图,搞定能带理论基础!
【长篇图文,包教包会】Materials Studio软件——CASTEP使用教程详解
Gnuplot科学绘图(一)——从安装到简单函数绘图(文末有彩蛋)
Gnuplot科学绘图(二)——坐标取值范围及刻度(文末有彩蛋)
Gnuplot科学绘图(三)——点线风格
Gnuplot科学绘图(四)——多组数据绘图
Gnuplot科学绘图(五)——输出eps 图片
Gnuplot科学绘图(六)——输出pdf 和png 图片
Gnuplot科学绘图(七)——Enhanced 文本模式
Gnuplot科学绘图(八)——插入LATEX 公式
Gnuplot科学绘图(九)——栅格以及方程数值解估算
Gnuplot科学绘图(十)——第二坐标轴
Gnuplot科学绘图(十一)——Gnuplot 的坐标系统及标签
Gnuplot科学绘图(十二)——箭头
Gnuplot科学绘图(十三)——边框和坐标轴
Gnuplot科学绘图(十四)——图例
Gnuplot科学绘图(十五)——对数坐标
Gnuplot科学绘图(十六)——图像尺寸
Gnuplot科学绘图(十七)——极坐标
Gnuplot科学绘图(十八)——参数方程
Gnuplot科学绘图(十九)——误差条(error bar)Gnuplot科学绘图(二十)——拟合Gnuplot科学绘图(二十一)——简单 3D 函数绘图Gnuplot科学绘图(二十二)——数据文件存储格式Gnuplot科学绘图(二十三)—— 3D 数据曲面绘图及边框Gnuplot科学绘图(二十四)——pm3d 绘图Gnuplot科学绘图(二十五)——色板(palette)设置Gnuplot科学绘图(二十六)——image 绘图Gnuplot科学绘图(二十七)——等高线图Gnuplot科学绘图(二十八)——等高线的颜色Gnuplot科学绘图(二十九)——table 输出Gnuplot科学绘图(三十)——多图(multiplot)Gnuplot科学绘图(三十一)——曲线色彩填充Gnuplot科学绘图(三十二)——填充风格Gnuplot科学绘图(三十三)——柱状图
Gnuplot科学绘图(三十四)——阶梯图
Gnuplot科学绘图(三十五)——数据平滑
Gnuplot科学绘图(三十六)——统计直方图
Gnuplot科学绘图(三十七)——三元算符和分段函数
Gnuplot科学绘图(三十八)——几何图形对象