ウェハマップのデータ(WaferMapDatasetクラス)

広告

ウェハマップでは全てのデータを管理するWaferMapDatasetクラスのオブジェクトを作成します。

WaferMapDatasetクラスのクラス図は次のようになっています。

  • java.lang.Object
  • org.jfree.data.general.AbstractDataset
  • org.jfree.data.general.WaferMapDataset
  • public class WaferMapDataset extends AbstractDataset

コンストラクタは2つ用意されています。1つだけ確認します。

Creates a new dataset using the default chipspace.

Parameters:
  maxChipX - the wafer x-dimension.
  maxChipY - the wafer y-dimension.

1番目の引数にはX軸方向の分割数、2番目の引数にはY軸方向の分割数を指定します。ここで指定した分割数でグラフとして表示される基盤が分割されます。

次のようにオブジェクトを作成します。

WaferMapDataset data = new WaferMapDataset(20, 20);

続いてデータを登録していきます。

データの登録

データを登録するにはWaferMapDatasetクラスで用意されている「addValue」メソッドを使います。

Sets a value in the dataset.

Parameters:
  value - the value.
  chipx - the x-index for the chip.
  chipy - the y-index for the chip.

2番目の引数には基板上のX軸方句の位置、3番目の引数には基板上のY軸方向の位置を指定します。そして1番目の引数にデータの値を指定します。

実際には次のように記述します。

WaferMapDataset data = new WaferMapDataset(20, 20);

data.addValue(10, 4, 4);
data.addValue(7, 8, 12);

サンプルプログラム

では簡単なサンプルを作成して試してみます。

Test2_1.java

import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.data.general.WaferMapDataset;
import org.jfree.chart.plot.PlotOrientation;

import javax.swing.JFrame;
import java.awt.BorderLayout;
import org.jfree.chart.ChartPanel;

public class Test2_1 extends JFrame{
  public static void main(String[] args) {
    Test2_1 frame = new Test2_1();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 500, 500);
    frame.setTitle("グラフサンプル");
    frame.setVisible(true);
  }

  Test2_1(){
    JFreeChart chart = ChartFactory.createWaferMapChart("ウェハマップ", 
                                                    createData(),
                                                    PlotOrientation.VERTICAL, 
                                                    false, 
                                                    false, 
                                                    false);

    ChartPanel cpanel = new ChartPanel(chart);
    getContentPane().add(cpanel, BorderLayout.CENTER);
  }

  private WaferMapDataset createData(){
    WaferMapDataset data = new WaferMapDataset(20, 20);

    data.addValue(1, 2, 4);
    data.addValue(3, 12, 16);
    data.addValue(2, 9, 12);
    data.addValue(7, 5, 8);

    return data;
  }
}

上記をコンパイルした後で実行すると次のようにJavaアプリケーションが起動します。

ウェハマップのデータ(WaferMapDatasetクラス)

グラフには何も変化がありませんでした。また「createWaferMapChart」メソッドの4番目の引数に「true」を指定するとエラーが発生します。今のところ原因が分かっていません。分かり次第更新します。

( Written by Tatsuo Ikura )