17

我正在尝试查找有关使用 Java 进行绘图的一些信息 -特别是 xy 绘图。我遇到过多个 java 库,但我不确定其中哪些易于学习使用/将其集成到现有应用程序中的难度级别。

我遇到的是:JFreeChart & JOpenChart

我还查看了此列表中的一些(并非所有都具有 XY Plot 功能):10 个面向开发人员的优秀免费开源 Java 图表库

有没有使用这些经验的人知道哪个是最容易/最快学习如何使用的?

4

2 回答 2

24

我已经为不同的解决方案使用了 100 次 jfreechart。它很容易学习,因为它有开发人员指南和 Java2s.com 上的许多更简单的教程。只需谷歌它,你会发现更多 这里是 XY 系列的演示

 package org.jfree.chart.demo;

 import org.jfree.chart.ChartFactory;
 import org.jfree.chart.ChartPanel;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.data.xy.XYSeries;
 import org.jfree.data.xy.XYSeriesCollection;
 import org.jfree.ui.ApplicationFrame;
 import org.jfree.ui.RefineryUtilities;


public class XYSeriesDemo extends ApplicationFrame {

/**
 * A demonstration application showing an XY series containing a null value.
 *
 * @param title  the frame title.
 */
public XYSeriesDemo(final String title) {

    super(title);
    final XYSeries series = new XYSeries("Random Data");
    series.add(1.0, 500.2);
    series.add(5.0, 694.1);
    series.add(4.0, 100.0);
    series.add(12.5, 734.4);
    series.add(17.3, 453.2);
    series.add(21.2, 500.2);
    series.add(21.9, null);
    series.add(25.6, 734.4);
    series.add(30.0, 453.2);
    final XYSeriesCollection data = new XYSeriesCollection(series);
    final JFreeChart chart = ChartFactory.createXYLineChart(
        "XY Series Demo",
        "X", 
        "Y", 
        data,
        PlotOrientation.VERTICAL,
        true,
        true,
        false
    );

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

}

// ****************************************************************************
// * JFREECHART DEVELOPER GUIDE                                               *
// * The JFreeChart Developer Guide, written by David Gilbert, is available   *
// * to purchase from Object Refinery Limited:                                *
// *                                                                          *
// * http://www.object-refinery.com/jfreechart/guide.html                     *
// *                                                                          *
// * Sales are used to provide funding for the JFreeChart project - please    * 
// * support us so that we can continue developing free software.             *
// ****************************************************************************

/**
 * Starting point for the demonstration application.
 *
 * @param args  ignored.
 */
public static void main(final String[] args) {

    final XYSeriesDemo demo = new XYSeriesDemo("XY Series Demo");
    demo.pack();
    RefineryUtilities.centerFrameOnScreen(demo);
    demo.setVisible(true);

}

}

在此处输入图像描述

于 2013-05-23T16:03:37.830 回答
1

我使用 Android 特定的库进行了更多的工作,但我可以说我对 JFreeChart 有很好的经验。它有一个相当广泛的库,因此您可以随时对其进行扩展,它有许多带有示例代码的演示以及网络上的教程,它有一个很好的支持论坛。试试看,看看一些例子,看看你是否喜欢它的格式。

于 2013-05-23T14:03:32.597 回答