2009-10-26 34 views
10

Tôi đang triển khai một biểu đồ phân tán bằng cách sử dụng MS Chart Control .NET 3.5, WinForms, C#. Dữ liệu trục x của tôi là DateTime và nhận thấy tôi không thể phóng to nhỏ hơn độ phân giải 1 ngày, mặc dù thiết lập ScaleView như sau:MS Chart Control Phóng to MinSize issue

chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSize = 4; 
chart1.ChartAreas["MyChart"].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Hours; 

Có ai khác có vấn đề này không? Bất kỳ ý tưởng?

Trả lời

10

Đã tìm ra điều này ... có lẽ tôi đã không RTFM đủ gần, nhưng không rõ ràng từ bản trình diễn tương tác.

Set

chart1.ChartAreas["MyChart"].CursorX.Interval = 0; 

và sau đó nó cho phép tôi để phóng to dọc theo trục x tốt.

+0

Tôi đã cố gắng tìm ra điều này trong một thời gian: không thể phóng to với độ phân giải thấp hơn 1. Vui vì cuối cùng tôi đã tìm thấy câu trả lời của bạn. Tôi hoàn toàn đồng ý điều này là không rõ ràng từ bản demo! –

+0

điều này thật tuyệt vời. Tôi sẽ không bao giờ phải nghe ông chủ của tôi phàn nàn về điều này một lần nữa. – RussellStewart

7

Hoạt động tuyệt vời! Rất tiện dụng và bắt buộc nếu bạn muốn có hành vi Thu phóng mượt mà.
Đã không vấp ngã, mặc dù tôi đã thực hiện RTFM :-)

Tuy nhiên, nếu bạn xử lý đôi hoặc phao thay vì kiểu số nguyên (chẳng hạn như giờ hoặc ngày), đặt khoảng thời gian thành 0 có thể hơi ít chút cực đoan: Trong khi phóng to, bạn sẽ kết thúc có nhãn quá chính xác như 2,907343253253235

Một sự kết hợp tốt nhất là sử dụng hai tài sản:

chartArea1.AxisY.ScaleView.MinSize = 0; 
chartArea1.CursorY.Interval = 0.001; 

cách này bạn có thể phóng to nhiều như bạn muốn , trong khi vẫn kiểm soát độ chính xác ở mức hợp lý