作成日: 2019/02/01 最終更新日: 2019/02/01
文書種別
制限事項
詳細
RangeSelectorを操作した場合に、選択した範囲によっては、折れ線の上下への振れ幅(ブレ)が非常に大きくなり、本来とは異なる位置にデータ点がはみ出して描画されることがあります。
FlexChartでは、折れ線の描画の際には、Series.Styleの値を元にPenオブジェクトを生成していますが、その際の線の角の描画設定(LineJoin)として、内部的にMiter(またはMiterClipped)が設定されています。この設定では角の面取りが行われないため、RangeSelectorの選択範囲を狭めるなどで、それまで描画されていなかったデータ点が現れるとき、描画線を結ぶそれぞれの2点の位置関係により非常に鋭角な角を持つ線になると上下にはみ出して表示される部分が多くなり、本現象が発生します。
FlexChartでは、折れ線の描画の際には、Series.Styleの値を元にPenオブジェクトを生成していますが、その際の線の角の描画設定(LineJoin)として、内部的にMiter(またはMiterClipped)が設定されています。この設定では角の面取りが行われないため、RangeSelectorの選択範囲を狭めるなどで、それまで描画されていなかったデータ点が現れるとき、描画線を結ぶそれぞれの2点の位置関係により非常に鋭角な角を持つ線になると上下にはみ出して表示される部分が多くなり、本現象が発生します。
回避方法
折れ線グラフの線の太さを、できるだけ細くします。
◎サンプルコード(VB)
◎サンプルコード(C#)
※参考情報
ComponentOne収録のTrueChart for WinFormsでも同様の現象が発生します(ナレッジ:69737 )が、こちらのコントロールでは、LineJoinプロパティの値を指定したり、MiterLimitを設定したりすることで回避可能です。ただし、TrueChartにはRangeSelectorの機能はなく、代わりにX軸用スクロールバーのスケールを調整することで、表示範囲を変更することが可能です(スクロールバーのスケール調整 )。ちなみに、TrueChart for WinFormsは既にメンテナンスモードとなっており、2019年4月末にこのメンテナンスも終了し、その後テクニカルサポートは一切行われませんので、予めご了承ください。
◎サンプルコード(VB)
' Series1.Style.StrokeWidth = 2.0f
Series1.Style.StrokeWidth = 1.0f
Series1.Style.StrokeWidth = 1.0f
◎サンプルコード(C#)
// series1.Style.StrokeWidth = 2.0f;
series1.Style.StrokeWidth = 1.0f;
series1.Style.StrokeWidth = 1.0f;
※参考情報
ComponentOne収録のTrueChart for WinFormsでも同様の現象が発生します(ナレッジ:69737 )が、こちらのコントロールでは、LineJoinプロパティの値を指定したり、MiterLimitを設定したりすることで回避可能です。ただし、TrueChartにはRangeSelectorの機能はなく、代わりにX軸用スクロールバーのスケールを調整することで、表示範囲を変更することが可能です(スクロールバーのスケール調整 )。ちなみに、TrueChart for WinFormsは既にメンテナンスモードとなっており、2019年4月末にこのメンテナンスも終了し、その後テクニカルサポートは一切行われませんので、予めご了承ください。
旧文書番号
83612