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


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