14

私はいくつかのデータを持っています。

#Time  Distance
 1   3
 2   5
 4   9
 8  11
12  17
14  20
16  34
20  40

gnuplot で時間に対する累積距離をプロットしたいのですが (簡単なはずです)、方法がわかりません。

バツ

4

6 に答える 6

28

この種のことをまだ探している人は、gnuplot のバージョンが 4.4 以降であれば、次のことができます。

a=0
#gnuplot 4.4+ functions are now defined as:  
#func(variable1,variable2...)=(statement1,statement2,...,return value)
cumulative_sum(x)=(a=a+x,a)
plot "test.dat" using 1:(cumulative_sum($2))
于 2012-03-14T20:33:14.333 に答える
16

データがファイル datafile にある場合、次のように累積プロットを実行できます。

$ gnuplot
gnuplot> plot "datafile" smooth cumulative
于 2013-06-05T16:12:18.687 に答える
6

データがファイル「test.txt」にあると仮定すると、次のようになります。

plot "<awk '{i=i+$2; print $1,i}' test.txt" with lines
于 2009-11-13T19:00:06.130 に答える
6

「smooth」オプションの「cumulative」バリアントでも同じことが実現できます ( help smoothgnuplot に入力するだけです)。

于 2011-12-21T14:47:56.423 に答える
1

私は Gnuplot の経験が少しあり、ドキュメンテーションを少し調べただけです。残念ながら、プロット中に累積合計を生成するための解決策を見つけることができませんでした。

あなたがする必要があるのは、Gnuplot に任せる前に別のプログラムでデータをマッサージすることだと思います。awkは、頭に浮かぶプログラムの 1 つです。実際には、列データをいじるために構築されています。これらの手順に従って、このプロセスをプロット プロセスに統合できます。

于 2009-11-13T18:50:09.277 に答える