[英]Can't zoom in MSchart when adding the Y axis minimum / maximum
每當我向Yaxis添加最小值/最大值時(chart1.ChartAreas [0] .AxisY.Minimum&\\ chart1.ChartAreas [0] .AxisY.Maximum)我將失去放大圖表的能力。
有辦法解決這個問題嗎?
有人知道縮放與最小/最大值相結合是否存在限制?
由於這里沒有答案,但最近對該主題發表評論,我在尋找同一問題的答案時找到了這個帖子,這就是我發現的問題。
檢查圖表區域光標的Interval和IntervalType值。 可以啟用縮放,但是您的間隔足夠大,使用最小值/最大值,您的圖表的整個范圍都會小於您可以選擇的間隔。
在我的情況下,我使用DateTime作為我的軸值類型,而我使用'自動'IntervalType我無法放大任何不到一天的時間 - 而我的圖表僅覆蓋10小時,因此縮放似乎被禁用。 我將IntervalType從'Auto'更改為'Seconds'(將Interval保持為1),這讓我可以放大我需要的細節級別。
以下應啟用縮放:
chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
在軸上設置最小值/最大值似乎確實阻止了用戶選擇的縮放。 我不確定您是要限制縮放還是提供初始縮放設置。 對於后者,請執行此操作,而不是在軸上使用min / ax:
chart1.ChartArea[0].AxisY.ScaleView.Zoom(min, max);
我無法驗證問題。
如果我設置最小值/最大值,我仍然可以縮放圖表,例如:
private void FillChart()
{
var dt = new DataTable();
dt.Columns.Add("X", typeof(double));
dt.Columns.Add("Y", typeof(double));
dt.Rows.Add(1, 3);
dt.Rows.Add(2, 7);
dt.Rows.Add(3, 2);
dt.Rows.Add(4, 1);
dt.Rows.Add(5, 5);
dt.Rows.Add(6, 9);
dt.Rows.Add(7, 0);
this.chart1.Series.Clear();
this.chart1.DataSource = dt;
var series = this.chart1.Series.Add("MYSERIES");
series.XValueMember = "X";
series.YValueMembers = "Y";
// set a custom minimum and maximum
chart1.ChartAreas[0].AxisY.Minimum = -10;
chart1.ChartAreas[0].AxisY.Maximum = 10;
chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
}
這對我來說非常好。
你做了不同的事嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.