Tôi có một ZedGraphControl với một vài đường cong trong đó và tôi muốn thêm các đường thẳng đứng tại một số vị trí x cố định. Các đường nên tất nhiên chỉ nằm trong khu vực đồ thị thực tế.Đường thẳng đứng ZedGraph với vấn đề LineObj
tôi đã cố gắng sau
LineObj line = new LineObj(Color.Black, xPos, myPane.YAxis.Scale.Min, xPos, myPane.YAxis.Scale.Max);
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash;
line.Line.Width = 1f;
myPane.GraphObjList.Add(line);
và điều này hoạt động tốt cho đến khi người dùng phóng to biểu đồ, các đường dọc sau đó sẽ kéo dài ra khỏi khu vực biểu đồ thực tế (xem link pic dưới đây, cũng nhận thấy rằng nó không phải là tiêu tan bên trong đồ thị, lẻ).
http://imageshack.us/photo/my-images/196/zedgraphzoom.png/
Có cách nào để giải quyết này (nếu chỉ có aa cách để có được myPane.Xaxis.Scale.Min và Max của zoom hiện tại và sau đó cập nhật đồ thị trong ZoomEvent?) Hoặc là có bất kỳ lớp học/phương pháp tốt hơn để sử dụng khác hơn là LineObj cho mục đích này?
Hoạt động tốt miễn là bạn không gọi zedGraphControl.AxisChange() afterwords, trong trường hợp nó sẽ thêm lề ở phía dưới, nhưng tôi đoán bạn có thể làm mọi thứ yêu cầu cuộc gọi đó trước khi thêm dòng. Cảm ơn bạn! – HischT
Một giải pháp là tạo trục Y thứ cấp, sau đó đặt scale.max và min thành cả 0 và 1, sau đó đính kèm LineItem vào nó với hai điểm (x, 0) và (x, 1). Bằng cách này, nó vẫn độc lập với trục kia. – Larry