我有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
:
类似的东西:
答案 0 :(得分:4)
你可以使用像http://www.jfree.org/jfreechart/这样的库(LGPL-License)网上有很多例子,而且很容易使用。
这是一个例子,似乎符合您的要求:
http://www.java2s.com/Code/Java/Chart/JFreeChartMarkerDemo1.htm
答案 1 :(得分:1)
假设您正在使用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
。
答案 2 :(得分:0)
有一个Java 2D API:http://java.sun.com/products/java-media/2D/,可以通过网络搜索轻松找到许多图表库。