我知道有Java的绘图库在那里的许多比较,但我没有找到我需要什么。我只想要一个头脑麻木简单的工具包,从一组坐标创建散点图的图像。没有GUI,无相互作用,没有华丽的显示器,只是一个基本的XY坐标系的点。

这不会是世界上使用的东西,它提供了更多的功能比我更需要的结束,但我宁愿不要。你知道的像什么我在寻找什么?

有帮助吗?

解决方案

让你看着 JFreeChart的?虽然它可以做一些非常先进的东西,它也做的很简单。下面显示的是它的散点图能力的屏幕截图。

“ALT文本” 结果 <子>(来源: jfree.org

其他提示

我看了看周围的东西存在,并意识到jcckit在技术上是相当不错的,只是没有它周围的简单包装,以方便使用。

所以我分叉,并做了一个非常简单的包装。以下是如何使用:

import static easyjcckit.QuickPlot.*;

double[] xaxis = new double[]{0,1,2,3,4,5};
double[] yvalues = new double[]{0,1,4,9,16,25};
scatter( xaxis, yvalues ); // create a plot using xaxis and yvalues
double[] yvalues2 = new double[]{0,1,2,3,4,5};
addScatter( xaxis, yvalues2 ); // create a second plot on top of first

System.out.println("Press enter to exit");
System.in.read();

除了散点图,可以自由如果要使用“addPlot”和“情节”添加线相同的轴线。

下面是代码: https://bitbucket.org/hughperkins/easyjcckit

您的使用定制的JPanel绘制你的数据(未测试,但你的想法...)

private List<Point2D> data=(...);

JPanel pane=new JPanel()
{
protected paintComponent(Graphics2D g)
{
super.paintComponent(g);
int minx=(...),miny=(...),maxx=(...),maxy=(...);
for(Point2D p: data)
 {
 int x=((p.getX()-minx)/(maxx-minx))*this.getWidth();
 int y=((p.getY()-miny)/(maxy-miny))*this.getHeight();
 g.drawLine(x-5,y,x+5,y);
 g.drawLine(x,y-5,x,y+5);
 }
}
pane.setOpaque(true);
(...)
anotherComponent.add(pane);
(...)
}

您也可以查看简单的Java绘图。最小例(无选项):

Plot plot = Plot.plot(null).
    // setting data
    series(null, Plot.data().
        xy(1, 2).
        xy(3, 4), null);
// saving sample_minimal.png
plot.save("sample_minimal", "png");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top