Как нарисовать двухмерную графику на Java? - PullRequest
3 голосов
/ 27 мая 2011

У меня есть 2 разных списка.Каждая из них содержит пары значений x и y (они имеют как положительные, так и отрицательные значения).Как я могу нарисовать их на 2D-оси?Я хочу поставить points для каждого значения, и они будут синим для первого списка и красным для второго списка.

Тип моих списков:

List<List<Double>>

List<Double> inside of List<...> has 2 variables, first of it for x value and the second one is for y value.

Однако мне просто нужно рисовать двухмерную графику на Java (настольное приложение) и расставлять точки где угодно, улучшая код для моих переменныхменее важно.

PS:

Я хочу more and more simple такого рода графики: enter image description here

Что-то вроде:

enter image description here

Ответы [ 3 ]

4 голосов
/ 27 мая 2011

вы можете использовать такую ​​библиотеку, как http://www.jfree.org/jfreechart/ ( LGPL-Лицензия ). В Интернете есть множество примеров, и это довольно просто.

пример, который, кажется, соответствует вашим требованиям:

http://www.java2s.com/Code/Java/Chart/JFreeChartMarkerDemo1.htm

1 голос
/ 27 мая 2011

Если вы используете Swing с панелью, вы можете использовать следующее:

public class JImagePanelExample extends JPanel {

    private BufferedImage image;
    private Graphics2D drawingBoard;
    private int x, y; // Image position in the panel

    // Let's assume image is a chart and you need to draw lines
    public JImagePanelExample(BufferedImage image, int x, int y) {

        super();
        this.image = image;

        // Retrieving a mean to draw lines
        drawingBoard = image.createGraphics();

        // Draw what you need to draw (see other methods too)
        drawingBoard.drawLine(0, 10, 35, 55);

    }

    // Called by Swing to draw the image in the panel
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(image, x, y, null);
    }

}

Если вы не хотите использовать Swing и вам просто нужно рисовать в 2D, сфокусируйтесь на BufferedImageи Graphics2D только.

0 голосов
/ 27 мая 2011

Существует Java 2D API: http://java.sun.com/products/java-media/2D/ и множество библиотек диаграмм, которые легко найти с помощью веб-поиска.

...