2016-03-21 23 views
2

ChartFactory.createScatterPlot ile oluşturulan bir dağılım grafiği var. Kümelenmiş noktalara sahip bölgelerde daha iyi görsel geri bildirim elde etmek için her noktanın bir taslağını çizmek istiyorum. Ben öyle çalışıyorum:Seri anahat strokunu ve dağılım grafiğini değiştirme

Shape cross = new Ellipse2D.Double(0,0,5,5); 
XYPlot xyPlot = (XYPlot) jfreechart.getPlot(); 
xyPlot.setDomainCrosshairVisible(true); 
xyPlot.setRangeCrosshairVisible(true) 
XYItemRenderer renderer = xyPlot.getRenderer(); 
renderer.setSeriesShape(0, cross); 
renderer.setSeriesPaint(0, Color.red); 
renderer.setSeriesOutlinePaint(0, Color.black); 
renderer.setSeriesOutlineStroke(0, new BasicStroke(2)); 
renderer.setSeriesStroke(0, new BasicStroke(1)); 

Ama sadece yeni şekil çizilir, puan yok anahat olsun: böylece ihtiyacınız değişiklik görmek için, factory method atıf

enter image description here

cevap

2

XYLineAndShapeRenderer başlatır setUseOutlinePaint()'un yanı sıra setSeriesOutlinePaint() ve (isteğe bağlı) setSeriesOutlineStroke()'u çağırmak için.

XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) xyPlot.getRenderer(); 
renderer.setUseOutlinePaint(true); 
renderer.setSeriesOutlinePaint(0, Color.black); 
renderer.setSeriesOutlineStroke(0, new BasicStroke(2)); 

Tam bir örnek here gösterilmektedir.

+0

Bu hata iletisini alıyorum: "SetUseOutlinePaint (boolean) yöntemi, XYItemRenderer türü için tanımsız." –

+0

İşleyiciyi yukarıda gösterildiği gibi yayınlamanız gerekir. – trashgod