3

この記事Enclosed, but not Encryptedを参照してください。

私はいくつかのバイナリデータを持っています。その記事に示されている gnuplots を実行したいのですが、私のデータを使用しています。

3 次元位相空間プロットでは、シーケンス a、b、c、d、e、f などを空間座標として使用できます (ab、bc、cd)、(bc、cd、de)、(cd 、de、ef) など。作成されたプロットのパターンは、後続のシーケンス間の繰り返し関係を明らかにします。このフェーズ プロットでは、50,000 個の 16 ビット乱数により、構造化されていない点の雲が生成されます。

まったく同じことをしたい。バイナリ ファイル (約 10 MB) があり、それを gnuplot で実行して、素敵な gnuplot グラフを作成したいと考えています。

これを実現するには、gnuplot に何を入力すればよいでしょうか?

「位相空間プロット」とgnuplotをGoogleで検索しても、あまり返されません。記事がドイツ語からの翻訳であるためかどうかはわかりません。スタック交換サイトで関連する回答が見つかったとは思いません。

4

1 に答える 1

12

3 次元位相空間をプロットするには、次のスクリプトを使用します。これは、gnuplot ページの移動平均の例のように機能します。

reset
back4 = back3 = back2 = back1 = 0
shift(x) = (back4 = back3, back3 = back2, back2 = back1, back1 = x)
samples(x) = $0 < 3 ? NaN : x
set ticslevel 0
# the labels are only for orientation when checking the test data
set xlabel 'xlabel'
set ylabel 'ylabel'
splot 'randomdata.dat' using (shift($1), samples(back4-back3)):(samples(back3-back2)):(samples(back2-back1))

back1gnuplot は、 に格納される4 つのデータ値を保持する必要がありますback4。新しい値ごとに、格納された値が でシフトされますshiftsamples最初の 3 つの値は使用されず、保存されるだけです (NaN無効なデータ ポイントが作成されます)。

テストするには、次のファイルを使用しますrandomdata.dat

21
15
10
6
3
1
0

これは、(6,5,4)、(5,4,3)、(4,3,2)、および (3,2,1) に 4 つのデータ ポイントをプロットします。

たとえば 16 ビットの数値を含むバイナリ データ ファイルがある場合は、次を使用します。

splot 'binaryfile' binary format="%ushort" using (shift($1), samples(back4-back3)):(samples(back3-back2)):(samples(back2-back1))

データサイズを変更する必要がある場合は、呼び出しgnuplotて入力show datafile binary datasizesし、サポートされている形式を確認してください。

于 2013-07-30T10:53:14.163 に答える