範囲外から範囲外へ動く場合の線の描画
難儀した点
一定時間毎に gnuplotでY軸の上下幅固定でグラフを書いてる。
で、データが範囲外(上)から範囲外(下)になるものの移動の線が描画されないケースが出てきた。
手元にあるgnuplotのどんなバージョンでも、再現するのだから仕様なのだろう。
manは要領を得ないし、Google様は検索用語が悪いのか、中々正解に辿りつけない、、、
例
例えば、10が5回 -10が5回続くとかのケース
test.plt
#!/usr/bin/env gnuplot
set term dumb
set yrange [min:max]
plot '-' u ($0):($1) notitle w l
10
10
10
10
10
-10
-10
-10
-10
-10
end
もちろん、-12〜12とかの範囲で描画すれば、きちんとラインは引かれる。
$ gnuplot -e 'min="-12";max="12"' test.plt
+-------+------+-------+-------+------+-------+-------+------+-------+
+ + + + + + + + + +
10 ******************************** ++
| * |
| * |
| * |
5 ++ * ++
| * |
| * |
| * |
0 ++ * ++
| * |
| * |
| * |
-5 ++ * ++
| * |
| * |
| * |
-10 ++ ********************************
+ + + + + + + + + +
+-------+------+-------+-------+------+-------+-------+------+-------+
0 1 2 3 4 5 6 7 8 9
しかし、-1〜1とかにすると、X=4〜5の斜線が引かれない、、、
$ gnuplot -e 'min="-1";max="1"' hoge.plt
1 ++------+------+-------+------+-------+------+-------+------+------++
+ + + + + + + + + +
| |
| |
| |
0.5 ++ ++
| |
| |
| |
| |
0 ++ ++
| |
| |
| |
| |
-0.5 ++ ++
| |
| |
| |
+ + + + + + + + + +
-1 ++------+------+-------+------+-------+------+-------+------+------++
0 1 2 3 4 5 6 7 8 9
"set clip two"
正解に辿りついてみたら、何の事はない。
一行set clip two
を足すだけ、、、
test2.plt
#!/usr/bin/env gnuplot
set term dumb
set clip two
set yrange [min:max]
plot '-' u ($0):($1) notitle w l
10
10
10
10
10
-10
-10
-10
-10
-10
end
$ gnuplot -e 'min="-1";max="1"' test2.plt
1 ++------+------+-------+------+---*---+------+-------+------+------++
+ + + + + * + + + + +
| * |
| * |
| * |
0.5 ++ * ++
| * |
| * |
| * |
| * |
0 ++ * ++
| * |
| * |
| * |
| * |
-0.5 ++ * ++
| * |
| * |
| * |
+ + + + + * + + + + +
-1 ++------+------+-------+------+---*---+------+-------+------+------++
0 1 2 3 4 5 6 7 8 9
アホくさ、、、
Author And Source
この問題について(範囲外から範囲外へ動く場合の線の描画), 我々は、より多くの情報をここで見つけました https://qiita.com/bunzaemon/items/c51c1ffb01f011252a27著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .