gnuplot软件学习笔记

gnuplot,一个命令行交互式的绘图工具

gnuplot学习资料:

gnuplot本身自带的官方使用教程,输入help交互式打开

help

可以找马欢老师的gnuplot中文教程:http://ouc.ai/zhenghaiyong/courses/tutorials/gnuplot/gnuplot-zh.pdf

gnuplot的下载: 

查看文章:gnuplot下载及基本使用_张海玲的博客-CSDN博客_gnuplot

提供网盘下载win版gnuplot程序

按win+R,再输入:

sysdm.cpl

在环境变量,系统变量中将安装目录的bin文件夹放进path变量里。

在cmd里输入gnuplot即可进入程序

gnuplot的简单使用:

查看和切换工作目录:

pwd #查看工作目录
cd "C:/Users/TSPC/desktop"    #工作目录切换到桌面

设置图例:

1.显示或隐藏图例

set key  #显示标题,默认是绝对路径的文件名
set k     #简写:

unset key #不显示标题
unset k

2.自定义图例:

set key   #显示图例
plot "rmsd.dat" title "main"  #对数据rmsd.dat进行绘图

#修改图例的字体加上font关键字
set k font ",10"  #使用默认的字体,字体大小为10

#修改图例外方框的线条风格:
#使用ls关键字或是lc、dt、lw等关键字

3.图例的位置和加上外方框:

set k box bottom left  #加上外方框,位于左下角
set k center bottom #图例位于下角中央

 位置的关键字:top、bottom、left、right、center

4.图例的宽高进行缩放:

set k width 2 height 2  #简写为w 2 h 2

线条的风格:

1.修改线条风格和颜色:

plot "data.dat" linetype 7 linecolor 0
plot "data.dat" lt 7 lc 0 #简写

2.输入test查看一些风格说明:

test

根据右侧的规定进行线条风格、点风格和颜色的修改 

3.绘制线+点的曲线:

plot "rmsd.dat" with linespoints   #有点有线
plot "data.dat" w lp    #简写

设置只有点的曲线(默认情况)将w lp换为w p

设置只有线的曲线,将w lp换成w l

4.设置轴刻度范围和轴标签:

set xrange [0:1300]  #设置x轴刻度范围,xrange简写 xr
set xlabel "ps"   #设x轴标签,xlabel简写 xl
set ylabel "RMSD"  
set title "rmsd.dat"   #设置标题
plot "rmsd.dat" with lp  #或是用replot

对图片保存为png格式:

set terminal png size 800,600    #设置保存图片的格式和尺寸
set output "rmsd.png"   #生成对应路径下的文件
replot  #简写rep

上面的步骤后虽然图片文件出现,但是图片没有内容,还需要下面的步骤:

set term wxt size 600,600 #显示图片的交互窗口的大小
rep   #现在可以通过交互式查看图片效果,也成功保存图片

对于一个3列的数据,添加误差线:

第3列为误差值

plot "data.dat" using 1:2:($3/100) lc 6 lt 7 with errorbars
#with errorbars 简写为w e

using 1:2:($3/100) 使用3列数据,对第3列数据进行缩放100倍;with errorbars 使用第3列数据做为误差值

shift和+能对图片进行局部缩放。

图中每个散点都会加减上误差值,形成一条贯穿的表示范围的直线:

一个多列的数据,在图中绘制1列-2列的曲线和1列-3列的曲线:

plot "data.dat" using 1:2 title "1:2" ls 1 , \
"data.dat" using 1:3 title "1:3" ls 2
#plot关键字可以简写为p

,分隔打开多个数据文件(这里打开同一个文件),分别用不同的列代表x、y轴数值。 

 

linestyle 设置线条的风格

 set style line 123 lc 1 lw 1 dt 1 ps 0.5 pt 5设置一类曲线风格的固定模板,编号为123

set style line [index] lc [index] lw [index] pt [index] ps [index] dt [index]
#line [index] #设置这个样式的代号
#lc 线条的颜色
#lw 线条的粗细
#pt 数据点的类型
#ps 数据点的大小
#dt 虚线还是实线,虚线的样式
#使用rgb颜色而不是指定的代号进行颜色修改:
set style line 1 lc rgb "#8b0000" lw 2

查看当前所有的linestyle模板:

#展示所有设置的曲线模板
show style line

 将1号style加载到绘制的图像曲线里:

p "data.dat" ls 1
#使用代号为1的linestyle

修改字体的大小和格式:

#图例的字体:
set k font "Arial,14"  #格式为Arial,大小是14
#设置x轴标签的字体:
set xl "ps" font ",16" #大小为16,字体格式用默认

在背景中添加网格线:

set grid
#后可跟lw、lc等关键字
#取消网格线:
unset grid

显示图像边界线:

#数值之和表示显示多少条边界线:
#下边线:1
#左边线:2
#上边线:4
#右边线:8
#显示左边线和下边线,需要的数值和是1+2=3,命令如下:
set border 3

边界线粗细: 

set border [sum] lw [index]
#sum:设置显示哪些刻度线
#index:刻度线粗细

左上边界都消失了,但是其刻度还是存在,用命令让对称的刻度(成镜像)消失:

set tics nomirror

若是只是取消单独x轴的镜像刻度线,使用set xtics nomirror 

 

刻度值和刻度线:

1.修改刻度下标值:

set xticks ("zero" 0,"five" 5) #将x轴的原刻度值0换成zero,原刻度值5换成five

2.修改刻度值为希腊字母:

#将x轴原刻度值100换成希腊字母α:
set xtics ("{/Symbol a}" 100)

不需要输入完整的单词,只需要输入首字母;要输出γ,不需要输入gamma,只需要输入g

3.修改刻度值范围:

set tics [min],[offest],[max]
#设置刻度的最小值,间隔和最大值

若是适用于x、y轴,就用tics关键字,单独适用于x轴,就用xtics关键字,y轴则是ytics关键字

4.设置刻度线的长度:

set xtics scale 1  #设置x轴刻度长度缩放1倍

5.添加关键字font,设置刻度值的大小:

set xtics 0,5,20 font ",13"  #设置x轴刻度范围0~20,刻度间隔5,字体大小13

gnuplot绘制热图:

使用的数据集:“pca-out.dat”

数据集由amber的cpptraj模块生成,前两列数据是x、y刻度,第3列数据是表示能量的强弱

对于用cpptraj生成的*.gnu文件,在gnuplot窗口里,输入load *.gnu 即可运行文件

在文件末尾添加set output "filename" 可输出图片文件

用换行符空开的前后两份数据表示不同的x刻度对应的y刻度值和颜色的深浅

绘制热图(heatmap):

plot "pca-out.dat" with image

 因为数据集中数值之间差值较大,所以点和点之间的色块渐变效果很差,边缘很清晰。

由于x轴范围大于实际数据集x值范围,出现一些留白的空间,修改x轴范围将留白空间删掉:

#根据实际数据x,y范围修改轴范围:
set xr [-28.2:21.0]
set yr [-17.7:17.1]
rep

效果好多了:

 在教程中,x、y范围都是0~100,但在绘制出的图像里却是明显的长方形图像:

修改x、y轴比例1:1

set size ratio 1

小细节:轴上的刻度线一般是朝图内延长的,现在图内被颜色盖满,需要让刻度线朝外

set tics out  #指定x轴或y轴换关键字xtics或ytics
set tics in  #该为刻度线朝内
set tics scale 2  #将刻度线长度进行缩放
set tics nomirror  #取消刻度线的镜像(删掉上、右边界的刻度线)

现在右侧色条刻度是0~0.035,修改色条的范围

set cbrange [0.01:0.03]  #cbrange关键字可以简写为cbr
rep

在实际数据集里z列数据值小于0.01的都会赋予色条中0.01对应的颜色,而大于0.03的数值则是赋予色条里0.03对应的颜色:

unset cbr #对操作进行取消,色条变回原来的亚子

更换色条的模板:

软件提供的9个模板,第一个traditional pm3d 就是默认的使用模板

更换色条模板的命令:

关键字palette可以简写为pal 

set palette rgb 7,5,15  #使用traditional pm3d
set palette rgb 3,11,6  #使用green-red-violet
set palette rgb 23,28,3 #使用ocean
set palette rgb 21,22,23 #使用hot
set palette rgb 30,31,32 #使用color printable on gray
set palette rgb 33,13,10 #使用rainbow
set palette rgb 34,35,36 #使用AFM hot
set palette rgb 3,2,2 #使用HSV model
set pal gray  #使用gray palette

 教程视频里使用的数据是一个组向量场数据,可以绘制出场强的方向向量:

一般绘制热图的标量数据,一列数据是X Y 能量强弱值(3个数据值)

矢量场需要X1 Y1 X2 Y2能量强弱值(5个数据),用(X1,Y1) (X2,Y2)4个数据绘制矢量方向箭头

 

plot "data.dat" wiith image ,\
    "data.dat" using 1:2:($4/sqrt(($4)**2+($5)**2)): ($5/sqrt(($4)**2+($5)**2)) every 5:5 \
    with vectors lc -1 filled notitle

($4/sqrt(($4)**2+($5)**2)): ($5/sqrt(($4)**2+($5)**2)) 将向量箭头单位化

lc -1 filled 使用黑色、填充箭头

 

 教程参考:

GnuPlot教程一套_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄思博呀

真的有人打赏啊,超级感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值