Jun 18, 2006

[Library] JChart2D にチャレンジ

JChart2D とは

JChart2D はチャートを生成してくれる Java 用のライブラリ。 LGPL で提供されている。

JChart2D
http://jchart2d.sourceforge.net/
demo
http://jchart2d.sourceforge.net/applet.shtml

実行環境準備

  1. こちら から JChart2D をダウンロードする。ここでは jchart2d-2.0.0.jar を前提とする。
  2. jchart2d-2.0.0.jar をクラスパスに追加する。

サンプルコード

JChart2D を使用して JPEG のチャートを生成するサンプルを作成してみた。 残念なことに、ウィンドウを表示しない状態での動作は実現できなかった。 というわけで、X Window System がインストールされていない等でウィンドウ描画ができない環境では実行できない。 何か方法があるのだろうか・・・。

package jp.in_vitro.codelets.jchart2d;

import info.monitorenter.gui.chart.Chart2D;
import info.monitorenter.gui.chart.ITrace2D;
import info.monitorenter.gui.chart.traces.Trace2DSimple;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class Codelet {

    public Codelet() {
        super();
    }

    protected void execute() throws IOException {
        Chart2D chart = new Chart2D();
        ITrace2D trace = new Trace2DSimple();
        Random random = new Random();
        for (int i = 100; i >= 0; i--) {
            trace.addPoint(i, random.nextDouble() * 10.0 + i);
        }
        chart.addTrace(trace);
        chart.setSize(640, 480);
        chart.setPaintLabels(true);

        JFrame frame = new JFrame();
        frame.setSize(640, 480);
        frame.add(chart);
        frame.setVisible(true);

        BufferedImage image = chart.snapShot();

        frame.setVisible(false);
        frame.dispose();

        ImageIO.write(image, "JPEG", new File("c:\\chart.jpg"));
    }

    public static void main(String[] args) throws IOException {
        Codelet me = new Codelet();
        me.execute();
    }
}

Posted in Library | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |