ZedGraph を使用してデータをプロットしています。折れ線グラフのマークされた領域を表示する必要があります。そのために、赤い感嘆符を使用します。
下の図のように、感嘆符をグラフの上枠の上に表示したいと思います。感嘆符は、グラフの水平方向のスクロールに合わせてスクロールする必要がありますが、垂直方向にスクロールする場合でも、グラフの上部境界線の上に固定されたままにする必要があります。
これまでのところ、私はこれを試しました(form_shown
イベントに表示されます):
ZedGraph.ImageObj io = new ZedGraph.ImageObj(global::ZedGraphJunk.Properties.Resources.alarm, 0d, -0.08d, 5d, 21d);
io.IsVisible = true;
io.IsScaled = false;
io.Location.CoordinateFrame = ZedGraph.CoordType.XScaleYChartFraction;
this.MasterZedGraph.GraphPane.GraphObjList.Add(io);
this.MasterZedGraph.Refresh();
これはほとんど機能しますが、ウィンドウのサイズが変更されて背が高くなると、感嘆符が消えます。これは、-0.08d
が ZedGraph にチャートの上部境界線の上に描画するように指示するためですが、その位置はペイン全体 (チャートを含む領域全体) のサイズに対して相対的です。したがって、ペインが大きくなると、ImageObj の y 位置がチャートの上部境界線から離れた位置に設定されます。
感嘆符の位置を修正して、ペインのサイズに関係なく、グラフの上部境界線のすぐ上に留まる方法はありますか?