1

私は新たに高血圧と診断されたので、a) 定期的に血圧をチェックして記録し、b) 薬を服用する必要があります。あなたは b) について私を助けることはできませんが、a) についてはあなたの親切な助けが必要です.

血圧を記録する必要があるため、毎日数回測定する必要があります。私のログは次のようになります。

20121001 0801 175 101
20121001 0802 Pill
20121001 1017 125 91
20121001 1537 121 101
20121001 1907 117 89
20121002 0758 191 111
20121002 0759 Pill
20121002 1003 117 98
(...)

gnuplot上記の 2 つのデータポイントを読み取り、それらを時間に対してプロットする構成ファイルを手伝ってくれませんか( %Y%m%d %H%M)。

ここでの注意点は... Pill、点、垂直線、または同様のものとしてプロットに表示したい線 " " です (それらは、ピルを服用したときに表示されるだけです)。

また、これが可能かどうかはよくわかりませんが、データポイント 1 とデータポイント 2 の違いを視覚化したいと思います。175-101=74最初の行で。

これは、錠剤が効き始めるかどうか (また、そうであればいつ) を視覚化するのに非常に役立ちます。

ありがとうございました!

4

2 に答える 2

1

以下のbashスクリプトを作成しました。ログ ファイル名を引数として実行します。

#! /bin/bash -e
input=$1
start=$(head -n1 "$input")
start=${start:0:9}0000
end=$(tail -n1 "$input")
end=${end:0:9}2359

gnuplot <<EOF
set terminal png
set output 'bp.png'
set xdata time
set timefmt '%Y%m%d %H%M'
set xrange ['$start':'$end']
plot '< grep -v Pill "$input"' using 1:(\$3-\$4):3:4 with errorbars pt 2 title 'Pressure', \
     '< grep    Pill "$input"' using 1:(100) with points lw 2 pt 7 title 'Pill'
EOF
(($?)) && exit 1
display bp.png
于 2012-10-05T09:20:24.443 に答える
0

私はあなたの質問の2番目の部分に答えます。そのため、ログに記録するものがあるようにファイルを更新しました。

 1  20121001 0801 175 101
 2  20121001 0802 Pill
 3  20121001 1017 125 91
 4  20121001 1537 121 101
 5  20121001 1907 117 89
 6  20121002 0758 191 111
 7  20121002 0759 Pill
 8  20121002 1003 117 98

gnuplotスクリプトは次のようになります

plot "< grep -v Pill meas2" using 1:($4-$5) with line, \
     "< grep Pill meas2" using 1:($2*0) ps 10 pt 8

含まない入力行Pillが選択されている場合。を使用$4-$5して計算を実行できます。もう1つのプロットは、ピルが線上にある時間の横軸にシンボルをプロットします。

最初の部分で、私はいくつかのヒントを見つけました:http: //t16web.lanl.gov/Kawano/gnuplot/datetime-e.html

于 2012-10-05T09:18:31.873 に答える