折れ線の描画要素のクラスの中で行われる処理の、条件式に誤りがありました。
軸が対数スケールの場合には値が負の点はスキップされますが、スキップ処理によって折れ線は複数に分割されます。
そのような場合、複数の折れ線を描画する処理を行う必要がありますが、条件式の誤りのせいで、分割後の折れ線が3個の点から成る場合のみ、その一部が表示されないという不具合が発生していました。
条件式を修正して、分割後の折れ線が3個の点から成る場合でも、全ての点を考慮して描画を行うように修正しました。
修正したソースコードはCVSにコミット済みです。
バージョン 2.0.0 のリリースに伴い close します。
軸を対数表示に設定したときに、表示されるべき点が抜け落ちてしまう場合がある。
下記の手続きで再現可能である。
1.以下の内容のデータファイルを作成する。
0.0, 1.0
1.0, 0.75
2.0, 0.25
3.0, -1.0
4.0, 0.25
5.0, 0.75
6.0, 1.0
7.0, 0.8
2.Samurai Graph に上記1で作成したデータファイルを読み込ませて、スカラー型XYグラフを描画する。後で不具合の確認をしやすくするために、データのプロパティ設定ダイアログを用いて、グラフは折れ線とシンボルの両方を描画するように設定する。
3.プロパティダイアログやマウス操作などを用いて、グラフのY軸の範囲を正の値の範囲(例えば [0.1, 1.0] など)に変更する。
4.グラフのY軸のスケールを対数スケールに設定する。この設定により、Y軸の値が -1.0 の点はスキップされて、3個の点から成る折れ線1本と、4個の点から成る折れ線1本とが描画されるはずである。しかし、3個の点から成る折れ線の一部が表示されていないことが分かる。(シンボルだけが描画された、孤立した点が存在している。)