GnuPlot作图(矢量图)

来源:互联网 发布:虎豹骑mac 编辑:程序博客网 时间:2024/05/04 10:34

最近帮博士后学姐做实验画图,图需要嵌入Latex,故使用GnuPlot做矢量图(eps),留下记录。

基础学习

请参考:http://www.cnblogs.com/aioria0622/archive/2008/09/14/1290776.html

实例一

需要做的图:

使用的技巧主要有:

1.同时画多条线;2.载入数据作图;3.不同线型选择;4输出为eps和jpg;

set key left  #设置图例位置set xlabel "dimensions" #设置坐标轴名称set ylabel "time(sec)"set  logscale y #设计坐标为对竖坐标# 设置输出为jpg 方便预览set term jpegset out "f8.jpg"filename = 'f8.txt' #载入数据文件plot filename using 1:2 with linespoints pt 1 title 'SFS',filename using 1:3 with linespoints pt 2 title "RPS",filename using 1:4 with linespoints pt 3 title "APS",filename using 1:5 with linespoints pt 4 title "GPS",filename using 1:6 with linespoints pt 5 title "PPPS"# 设置输出为epsset term post eps  set out "f8.eps"replot
其中,using 1:2 代表使用数据第1列为横坐标、第2列为纵坐标

线型参考:


实例二(柱形图)

要做的图:

需要用的技巧:

1.设置为柱形图;2.不同的填充模式

脚本如下:

set mytics 2set style data histogram #设置为柱形图(并列表示 设置为rowstacked 则是将几组数据垒起来)set style histogram clustered gap 1 #gap 1 就表示各簇数据之间空白的宽度等于数据柱宽度的 1 倍#set style fill solid 1.0 borderset style fill pattern 4 border -1 #不同的填充模式set ylabel "Number of accesses"set title "Number of accesses"set ytics 2500set yrange[0:20000]set term jpegset out "f07.jpg"plot "f07.txt" using 2:xticlabels(1) title columnheader(2), '' using 3:xticlabels(1) title columnheader(3)set term post epsset out "f07.eps"replot
注意:xticlabels(1),这表示使用第 1 列的内容作为每个数据的 X 轴标注。另外,title 参数后面跟了一个columnheader(n) 函数,这表示使用第 n 列的第一行内容作为每组数据的title

数据格式如下:

Method CompanyDB NBANaive 4725 17500SLA 4325 11500ISLA 3000 7500BBA 2700 6200


原创粉丝点击