2016-07-08 54 views
0

我有一個與線命令陰謀的問題。我必須從一個巨大的數據文件中繪製360條線。從我的輸入文件的樣本數據是Gnuplot問題與線命令陰謀

-180.00000000,-10.00000000,0.00000000,0.01000000,0.00000000 
-179.00000000,-10.00000000,0.07551000,0.01060500,0.04000000 
-178.00000000,-10.00000000,0.15102000,0.01121000,0.08000000 
-177.00000000,-10.00000000,0.22653000,0.01181400,0.12000000 
-176.00000000,-10.00000000,0.30204000,0.01241900,0.16000000 
-175.00000000,-10.00000000,0.37755000,0.01302400,0.20000000 
-174.00000000,-10.00000000,0.45306000,0.01362900,0.24000000 
-173.00000000,-10.00000000,0.52857000,0.01423400,0.28000000 
-172.00000000,-10.00000000,0.60408000,0.01483900,0.32000000 
-171.00000000,-10.00000000,0.67959000,0.01544300,0.36000000 
-170.00000000,-10.00000000,0.75510000,0.01604800,0.40000000 
-169.00000000,-10.00000000,0.73638000,0.02735300,0.38295000 
-168.00000000,-10.00000000,0.71766000,0.03865800,0.36590000 

對於followind代碼

reset 
set terminal epslatex size 13.1cm,6cm color colortext 
set output 'C:\MajCha\gnuplot\alpha_cl.tex' 
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt' 
# 
unset key 
set xrange [-10:10] 
set yrange [-3:3] 
plot for [i=-180:180] filename using (($1==i)?$2:1/0):3 
# 
unset output 
reset 

我得到了下面的圖 enter image description here

以下代碼

reset 
set terminal epslatex size 13.1cm,6cm color colortext 
set output 'C:\MajCha\gnuplot\alpha_cl_betaconst.tex' 
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt' 
# 
unset key 
set xrange [-180:180] 
set yrange [-3:3] 
plot for [i=-10:10] filename using (($2==i)?$1:1/0):3 with lines 
# 
unset output 
reset 

結果是一個空數字 enter image description here

我也使用awk,在這種情況下它顯示「awk不被識別爲內部或外部命令」,並且正在跳過而不繪製任何內容。我想用線條而不是線條來繪製陰謀。

回答

0

糾正我,如果我錯了,你可能混淆了三元運算符的含義嗎?

A?B:C意味着,如果A爲真,否則採用B使用C.

所以(($1==i)?$2:1/0):3意味着對於其中第1列的值等於i情節使用列2的vallue作爲x軸的線座標和列3的值作爲y座標。每次迭代只有一行(第一次迭代的第一行,第二次迭代的第二行等)滿足這個標準,所以每次迭代只能得到一個點。 (($ 2 == i)?$ 1:1/0):3表示對於第2列的值等於i的行,請將第1列中的此行值用作x座標,並且第3列(再次)作爲y座標。這個命令可以處理那個文件,然後根據你的數據來判斷。所以我不知道什麼是錯的。也許他們超出了你的繪圖範圍。註釋range說明符,看看你是否看到任何東西。 Gnuplot將自動縮放。

但是,如果所有這一切都清楚,但你只需要點之間的線,我不知道如何實現這一點。

也是你的最後一個陳述「我想用線條代替線條」。是模糊的。

一個技巧是使用terminal qtterminal wxtterminal x11獲得交互式彈出窗口的情節,而不是epslatex,你可以當你爲生產做好準備以後使用。然後實驗更容易。