Как вставить фоновое изображение в JfreeChart? - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно вставить фоновое изображение для моей графики.На самом деле, я сделал это, но у меня есть проблема.

Как удалить все, кроме самой красной линии?

Теперь у меня есть этот результат (см. Изображение ниже).

enter image description here

XYSeries series4 = new XYSeries("Траектория движения ЛА");
for (int i = 0; i < La.size(); i++) {
    series4.add(massLatitude[i], massLongitude[i]);

}
XYSeriesCollection seriesCollection4 = new XYSeriesCollection(series4);
Image icon = ImageIO.read(new File("image.jpg"));
final JFreeChart chart4 = ChartFactory.createScatterPlot("Траектория полета ЛА", null, null,
    seriesCollection4);
chart4.setBackgroundImage(icon);
final ChartPanel chartPanel4 = new ChartPanel(chart4);
chartPanel4.setPreferredSize(new Dimension(1300, 480));
panel.add(chartPanel4);

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я добился успеха вдвое) Но как я могу удалить обозначения XAxis и YAxis?Теперь у меня есть введите описание изображения здесь

XYSeries series4 = new XYSeries("Траектория движения ЛА");
        for (int i = 0; i < La.size(); i++) {
            series4.add(massLongitude[i], massLatitude[i]);

        }
        XYSeriesCollection seriesCollection4 = new XYSeriesCollection(series4);
        Image icon = ImageIO.read(new File("DlyaOpen.jpg"));
        final JFreeChart chart4 = ChartFactory.createScatterPlot(null, null, null,
                seriesCollection4);
        chart4.removeLegend();
        chart4.setBackgroundImage(icon);
        Color trans = new Color(0xFF, 0xFF, 0xFF, 0);
        chart4.getPlot().setBackgroundPaint( trans );
        chart4.getPlot().setOutlineVisible(false);
        chart4.getXYPlot().setRangeGridlinesVisible(false);
        chart4.getXYPlot().setDomainGridlinesVisible(false);
        final ChartPanel chartPanel4 = new ChartPanel(chart4);
        chartPanel4.setPreferredSize(new Dimension(800, 480));
        panel.add(chartPanel4);
0 голосов
/ 23 мая 2018

Как удалить все, кроме самой красной линии?

Вам нужно избавиться от линий сетки и сюжета фона (отличается от графикафон):

chart.getXYPlot().setDomainGridlinesVisible(false);
chart.getXYPlot().setRangeGridlinesVisible(false);
Color trans = new Color(0xFF, 0xFF, 0xFF, 0);
chart.getPlot().setBackgroundPaint( trans );
...