Я использую мастер диаграмм элементов Line Chart для отображения линейной диаграммы в JasperReport на основе данных, считанных из файла CSV. Линейный график вышел хорошо. Проблема в том, чтобы я отображал маркер вертикальной линии на основе определенного значения категории. Я попытался использовать многоосевую диаграмму и настроить второй график, как мне было нужно. Но в тот момент, когда я скомбинировал его, он либо сделает мой первый линейный график беспорядочным, либо мой второй линейный график станет горизонтальным!
Итак, я попытался использовать Chart Customizer, экспортировать в jar, добавить его в Build Path, добавить его в свойствах Chart Customizer. Но он не отображает то, что я хотел. Ниже приведен код:
public class Lot_VerticalLine implements JRChartCustomizer {
public static void main(final String args) {
@SuppressWarnings("unused")
final Lot_VerticalLine demo = new Lot_VerticalLine();
//demo.customize(null, null);
}
public void customize(JFreeChart jfc, JRChart jrc) {
CategoryMarker marker = new CategoryMarker("Category Axis");
CategoryPlot plot = jfc.getCategoryPlot();
marker.setLabel("Band Y");
marker.setPaint(Color.red);
marker.setOutlinePaint(Color.red);
marker.setDrawAsLine(true);
marker.setAlpha(0.5f);
marker.setLabelAnchor(RectangleAnchor.TOP);
marker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
marker.setLabelOffsetType(LengthAdjustmentType.CONTRACT);
plot.addDomainMarker(marker, Layer.BACKGROUND);
}
private void addMarker(Plot plot, Marker marker) {
((CategoryPlot) plot).addDomainMarker((CategoryMarker) marker);
CategoryItemRenderer renderer = (CategoryItemRenderer) ((CategoryPlot) plot).getRenderer();
}
}
Что я сделал не так?