これは実際にはおかしな話であり、*nix シェル マジックがなければ実現できません。
まず、x 目盛りラベルと y 目盛りラベルを取得します。
XTICS="`awk 'BEGIN{getline}{printf "%s ",$1}' test.dat`"
YTICS="`head -1 test.dat`"
この時点で、XTICS はストリング「FGHI J」であり、YTICS はストリング「ABCD E」です。
ここで、反復によって xtics を設定します。
set for [i=1:words(XTICS)] xtics ( word(XTICS,i) i-1 )
set for [i=1:words(YTICS)] ytics ( word(YTICS,i) i-1 )
2 つの gnuplot 組み込み関数 (word
およびwords
) を使用しました。 words(string)
指定された文字列に含まれる単語の数をカウントします (単語は、スペースで区切られた文字列です)。 word(string,n)
文字列の n 番目の単語を返します。
これで、データファイルをプロットできます...唯一の問題は、データファイル内のすべての行と列matrix
を使用したいということです。キーワードを使用して実際に読み取られる行/列を削減できる場合がありますが、行列ファイルでそれを行う方法がわかりません。シェル ユーティリティ ( and )に頼り続ける方がおそらく簡単だと思います。every
awk
sed
plot "<awk '{$1=\"\"}1' test.dat | sed '1 d'" matrix w image
#######^ replace the first field with nothing
################################## ^ delete first line
そして今、あなたのプロットは(うまくいけば)あなたが望むように見えます.
また、反復を使用しているため、このスクリプトは gnuplot 4.3 以降でのみ機能することに注意してください。現在の安定版は 4.6 であるため、問題ないことを願っています。