Я пытаюсь переопределить метод getItemPaint()
XYLineAndShapeRenderer
, создав подкласс:
private class MultiRenderer extends XYLineAndShapeRenderer{
@Override
public Paint getItemPaint(int row, int column) {
if(row==2){
float x = getAmplitude()[column];
return floatToColor(x);
}
return super.getItemPaint(row, column);
}
private Color floatToColor(float val){...}
}
И вызов:
XYPlot xyPlot = (XYPlot) myJFreeChartObject.getPlot();
MultiRenderer r = (MultiRenderer) xyPlot.getRenderer();
Но я получаю ClassCastException
. Можно ли как-нибудь правильно применить это или переопределить getItemPaint
без создания подкласса? Я пытаюсь построить 2 серии в виде обычных линейных графиков и 3-ю серию без линии и разных цветовых точек. Первые 2 ряда должны иметь линию, но без точечных маркеров.
Примечание getAmplitude()
просто возвращает массив чисел с плавающей точкой от 0 до 1
xyPlot .setRenderer(new MultiRenderer());
можете ли вы предоставить SSCCE - person GrahamA   schedule 23.10.2013