GnuPlot作图(矢量图)

最近帮博士后学姐做实验画图,图需要嵌入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 jpeg
set 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"
# 设置输出为eps
set term post eps  
set out "f8.eps"
replot
其中,using 1:2 代表使用数据第1列为横座标、第2列为纵座标

线型参考:


实例二(柱形图)

要做的图:

需要用的技巧:

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

脚本如下:

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

数据格式如下:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章