繪製單個資料檔案

預設的 gnuplot 命令 plot(也只是 p)繪製帶有列的資料集,下面是 data_set.dat 檔案的形式。

# Prototype of a gnuplot data set
# data_set.dat
# X -   X^2 -    2*X -    Random 
0       0        0        5
1       1        2        15
1.4142  2        2.8284   1
2       4        4        30
3       9        6        26.46
3.1415  9.8696   6.2832   39.11
4       16       8        20
4.5627  20.8182  9.1254   17 
5.0     25.0     10.0     25.50
6       36       12       0.908

如你所見,你可以使用浮點表示法在資料集中寫入。現在一切都準備好了資料圖:只輸入

plot "data_set.dat"

gnuplot 將在你的 output 目的地生成一個圖表。預設設定將使用資料檔案的前兩列,分別為 x 和 y。要指定要繪製的列,請使用 using 說明符

plot "data_set.dat" using 2:4

這意味著“使用第 2 列作為 X 繪製檔案,使用第 4 列作為 Y”。如果你的資料集是三維檔案,只需使用 splot ad 新增 z-column

splot "data_set.dat" using 1:2:3

對於繪製點,還有不同的樣式(請參閱 gnuplot 文件或選擇更多資訊的繪圖樣式 )。如前所述,預設樣式為 point

plot "data_set.dat" using 1:4 with point

這將繪製與你不鍵入 with point 相同的情節。資料繪圖的有用風格是 linespoint,顯然是“行+點”。例如:

plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp

StackOverflow 文件

繪圖迭代的形式

如果你有更多的列並希望在同一個圖中繪製它們,只需將你喜歡的任何引數傳遞給 plot 函式,用 , 分隔它們:

p "data_set.dat" u 1:2 w lp,\
    "data_set.dat" u 1:3 w lp,\
    "data_set.dat" u 1:4 w lp

無論如何有時可能會有太多的列逐個寫。在這些情況下,for 迭代迴圈非常有用:

p for [col = 2:4] "data_set.dat" using 1:col w lp

它給出了輸出

https://i.stack.imgur.com/KNhdU.jpg

簡言之,for 迭代在迴圈中增加變數,在本例中為 col,具有確定的步驟(如果未指定= 1)。例如,for [i = 0:6:2] 將通過兩個步驟將 i 從 0 增加到 6:i = 0, 2, 4, 6。所有值(開始,停止和增量)都被轉換為整數值。

* 網格

繪製資料集時,網格通常很有用。新增網格型別

set grid