Вы можете переопределить getItemShapeVisible()
и организовать возврат false
для ложных точек. Вы можете хранить дополнительную информацию, необходимую для принятия решения, в вашей модели данных, используя реализацию XYZDataset
.
В качестве альтернативы рассмотрим сглаживание данных перед их рендерингом. Такие фильтры обычно дают меньше точек, что упрощает рендеринг.
В любом случае избегайте путаницы или введения в заблуждение изменений в данных. A TextTitle
, показанный здесь , может прояснить результат.
Приложение: getItemShapeVisible()
сообщает вам , что series
и item
находится на рассмотрении. Реализация по умолчанию просто запрашивает getSeriesShapesVisible()
. Вот схема:
private static class MyRenderer extends XYLineAndShapeRenderer {
@Override
public boolean getItemShapeVisible(int series, int item) {
System.out.println(series + ":" + item);
if (item % 2 == 0) return false;
else return super.getItemShapeVisible(series, item);
}
}
Приложение: Вот как вы можете установить его:
XYPlot plot = chart.getXYPlot();
MyRenderer renderer = new MyRenderer();
plot.setRenderer(renderer);