0

風力タービンからのデータをプロットする次のスクリプトは、バージョン 4.4 では正常に機能しましたが、現在は失敗します

"plots"、14 行目: ヘッダー "11" の列が見つかりませんでした

変数置換で何かが変わったようですが、文書化されていません。

# data format
# 13-02-13 13:42:00 E:0 L:0 S:1 F:9 D:44 T:20.91 C:997 V:28.02 A:2.85 P:79 R:219 r:292 H:223 Y:1057 h:-225 y:-1228 I:5249 O:4921
# command line
# gnuplot -e "filename='log-130213.txt'; f1='11'; t1='Volts'; f2='14'; t2='RPM'" plots
set title filename
set datafile separator ":"
set xdata time
set timefmt "%d-%m-%y %H:%M:%S"
set format x "%H:%M"
set xlabel "Time"
set ylabel t1
set y2label t2
set y2tics
plot filename using 1:f1 with line title t1 axis x1y1 , "" u 1:f2 with line title t2 axis x1y2
pause -1

誰でもアイデアはありますか?

4

2 に答える 2

2

私自身の質問に答えます(たくさんの髪の毛を引っ張った後)...コマンドラインを変更して、必要な列の数値を引用しないようにすると、問題が修正されます。引用符で、gnuplot は '11' または '14' (私の場合!!) を含む列ヘッダーを探しますが、この機能をオフにする方法はありません!

gnuplot -e "filename='log-130213.txt'; f1=11; t1='Volts'; f2=14; t2='RPM'" plots 

注: これは、バージョン 4.4 からバージョン 4.6 への動作の変更です。

于 2013-03-19T03:22:39.130 に答える
0

問題は、4.6 が Var 型で 4.4 よりも厳密であることです。'plot' コマンドの直前に、var=var*1 を実行するか、using コマンド内で 'using x*1:y*1:label*1' を使用して、文字列変数を強制的に数値変数にすることができます。シェルスクリプトを作成し、プログラミングを明確にするために必要な場所の近くに配置します

于 2015-01-22T03:40:32.510 に答える