2012-10-06 79 views
1

一個三維曲線I具有以下列格式的數據文件:繪製從數據文件

1,00000 2,00000 3,00000 
1,37864 1,83839 2,90917 
1,71932 1,75834 2,77034 
2,03327 1,75821 2,58788 
2,32958 1,83535 2,36475 
2,61380 1,98720 2,10290 
2,88682 2,21109 1,80385 
3,14388 2,50283 1,46933 
3,37385 2,85424 1,10207 
3,55891 3,25003 0,70675 
3,67565 3,66464 0,29077 
3,69810 4,06096 -0,13516 
3,60327 4,39280 -0,55697 
3,37826 4,61289 -0,95808 
3,02656 4,68499 -1,32117 
2,57023 4,59570 -1,63053 
2,04607 4,35956 -1,87439 
1,49686 4,01436 -2,04634 
0,96171 3,60912 -2,14556 
0,46928 3,19100 -2,17583 
... 

也就是說,有在每行上的3維點。

我想在3D空間中將這些點繪製成曲線,因此這些點將從第一個點開始直線連接。

但是,下面的gnuplot的程序不能正常工作:

set xrange [-5:5] 
set yrange [-5:5] 
set ticslevel 0 
splot "data.dat" u 1:2:3 with lines 

它給了非常奇怪的結果: plot

看起來像gnuplot的由於某種原因,我接近與整點的所有數據。

我認爲這可能是我的數據真的給出了這張圖片,但是,當我要求gnuplot只繪製點而不是線時,它仍然只繪製了積分點,上圖中線條的關節。

這是爲什麼?我無法迫使谷歌給我一個答案。看起來像沒有人對繪製3D空間中的曲線感興趣:)

+0

一個有用的問題,修改文件,但標題是誤導性的。也許關於標題中積分的一些事情會更好。 –

回答

2

您應該用data.dat文件中的點代替彗差。小數分隔符是大多數操作系統中區域設置的主題。例如,俄羅斯地區昏迷,美國和英國昏迷。

在Linux上的區域設置可以locale實用

locale -k LC_NUMERIC 
decimal_point="." 
thousands_sep="," 
grouping=3;3 
numeric-decimal-point-wc=46 
numeric-thousands-sep-wc=44 
numeric-codeset="UTF-8" 

一種可能性被檢查在類Unix系統的轉換是使用sed在地方

sed -i "s/,/./g" data.dat 
+0

非常感謝,完美的工作!我怎麼能忘記它? –