9

次のコードを使用して、チャートの一部を選択してズームできるようにしています。

chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;

chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;

これは、整数型の x 軸と y 軸の両方を持つチャートで機能します。

ここに画像の説明を入力

しかし、シリーズの値のタイプを に設定するseries1.XValueType = ChartValueType.Time;と、x 軸を拡大できなくなります。

ここに画像の説明を入力

両方の軸の値のタイプを auto に設定し、たとえば を使用してポイントを追加するとchart1.Series[0].Points.AddXY(DateTime.Now.ToLongTimeString(), rand.Next(10, 20));、ズームが機能します。

x軸を時間にして、ズームできるようにするにはどうすればよいですか?

4

2 に答える 2

17

カーソルの間隔をデフォルトで 1.0 に設定する必要があります。パーセンテージに問題があったため、以下に示すように間隔を 0.01、たとえば 1% に設定しました。これは日時型を受け入れるため、 Cursor に IntervalType を設定する必要があります。

chart1.ChartAreas[0].CursorX.Interval = 0.01

詳細については、http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.cursor.interval%28v=vs.100%29.aspxを参照してください。

于 2012-09-20T16:01:45.647 に答える
2

テスト時間の値が互いに近すぎるため、ズームが機能しない可能性があります。ズームは、ユーザーの選択から開始点と終了点を選択できる必要があります。start == end の場合、スケール ビューの妥当な動作は何もしないことです。

于 2012-07-21T21:08:59.810 に答える