2013-06-07 51 views
5

Tôi đang cố vẽ một LineChart bằng cách sử dụng DefaultCategoryDataset và vấn đề tôi đang gặp phải là khi tôi cố vẽ một giá trị rỗng ở giữa hai giá trị hoặc kết nối giữa hai điểm bị mất (tức là đường kết nối hai điểm không xuất hiện), hoặc người nào khác tôi phải bỏ qua giá trị null (bằng cách thực hiện kiểm tra null trên mọi điểm trong DataSet) để kết nối hai điểm khác, kết quả là trục x điểm không được vẽ trên biểu đồ của tôi.Tránh null trong tập dữ liệu cho biểu đồ đường

Ví dụ: nếu tôi có Unit1, Unit2, Unit3 trên trục x và một số giá trị, nói 10, 20, 30 cho mỗi, nó hoạt động tốt và âm mưu một dòng nghiêng. Nhưng thay vì 20 trong Unit2, nếu tôi đặt null, tôi chỉ nhận được hai điểm trên biểu đồ của tôi mà không có một đường kết nối hai điểm đó.

Để có được đường vẽ, tôi phải bỏ qua điểm Unit2 từ trục x của tôi. Nhưng những gì tôi muốn làm là tôi muốn kết nối Unit1 với Unit3 mà không bỏ qua Unit2 (và giá trị của nó vẫn là null), tôi không muốn vẽ thay vì null.

Có cách nào để thực hiện việc này không?

Trả lời

1

Bạn có thể sử dụng hai bộ dữ liệu gần giống hệt nhau nhưng hai bộ kết xuất đồ họa.

Tập dữ liệu đầu tiên phải chứa tất cả dữ liệu bao gồm null -giá trị. Định cấu hình trình kết xuất cho tập dữ liệu này để chỉ vẽ hình dạng (nhưng không có đường). Bạn sẽ kết thúc với một hình dạng cho mỗi datapoint không phải là `null.

Tập dữ liệu thứ hai chỉ nên chứa dữ liệu không phải là null. Định cấu hình trình kết xuất khác cho tập dữ liệu này để chỉ vẽ các đường (nhưng không có hình dạng). Bạn sẽ nhận được một dòng mà chỉ bỏ qua null-datapoint nhưng là liên tục.

Mã cho điều này có thể là như thế này:

// create your chart here... 

// configure first renderer 
LineAndShapeRenderer renderer = LineAndShapeRenderer) plot.getRenderer(); 
renderer.setBaseShapesVisible(true); 
renderer.setBaseLinesVisible(false); 

// configure second renderer 
LineAndShapeRenderer renderer2 = new LineAndShapeRenderer(true, false); 
plot.setDataset(1, dataset2); 
plot.setRenderer(1, renderer2); 

hth,
- martin

+0

Đây không phải là một giải pháp tốt nếu bạn muốn sử dụng các chú giải cho biểu đồ. Sau đó, nó sẽ hiển thị một mục huyền thoại cho mỗi một trong hai dòng. – searchengine27

Các vấn đề liên quan