2013-06-07 26 views
5

DefaultCategoryDataset'i kullanarak bir LineChart çizmeye çalışıyorum ve karşılaştığım sorun, iki değer arasında boş bir değer çizmeye çalıştığımda iki nokta arasındaki bağlantıyı oluşturmaya çalıştığımda, Kaybetti (yani iki noktayı birleştiren çizgi görünmez), yoksa diğer iki noktayı birleştirmek için boş veriyi (DataSet'te her noktayı bir null yaparak) atlamalıyım. grafiğimde işaretlenmemiş nokta. ÖrneğinSatır grafiğinde veri kümesinden sıfır kaçının

: Ben x ekseninde ve bazı değerler üzerinde Birimini1, baskısı2, Unit3 varsa, her biri için 10, 20, 30, iyi çalışıyor ve eğimli bir çizgi çizer derler. Ama Unit2'de 20 yerine, null olarak belirlediysem, bu iki noktayı birleştiren bir çizgim olmadan grafiğimde sadece iki noktaya çiziyorum.

Çizgiyi çizmek için, x ekseninden Unit2 noktasını atlamak zorundayım. Ama ne yapmak istiyorum Unit2 atlamak Unit1 un Unit3 bağlamak istiyorum (ve değeri null kalır), null yerine çizmek istemiyorum.

Bunu yapmanın bir yolu var mı?

cevap

1

İki hemen hemen aynı veri kümesini ancak iki oluşturucu kullanabilirsiniz.

İlk veri kümesi, null de dahil olmak üzere tüm verileri içermelidir. Bu veri kümesi için bir oluşturucuyu yalnızca şekilleri çizecek şekilde yapılandırın (ancak çizgiler yok). Null olmayan her veri noktası için bir şekil ile sonuçlanacaksınız.

İkinci veri kümesi yalnızca null olmayan verileri içermelidir. Bu veri kümesine ait başka bir oluşturucuyu yalnızca çizgiler çizmek (ancak şekiller içermemek) için yapılandırın. Sadece boş veri noktasını atlayan ancak sürekli olan bir satır alırsınız. Bunun için

Kod şöyle olabilir:

// 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

Grafikte ilişkin açıklamayı kullanmak istiyorsanız bu iyi bir çözüm değildir. Sonra iki çizginin her biri için bir efsane öğesi gösterecektir. – searchengine27