01 /*
02 * $Id: MultiPlot2.java,v 1.12 2008/02/02 03:06:27 koga Exp $
03 *
04 * Copyright (C) 2004 Koga Laboratory. All rights reserved.
05 *
06 */
07 package matxbook.chap12;
08
09 import java.io.IOException;
10
11 import org.mklab.nfc.matrix.DoubleMatrix;
12 import org.mklab.nfc.util.Pause;
13 import org.mklab.tool.graph.gnuplot.Canvas;
14 import org.mklab.tool.graph.gnuplot.Gnuplot;
15
16
17 /**
18 * 異なる個数の複数のデータのグラフを同時に描画するサンプルです。
19 * @author koga
20 * @version $Revision: 1.12 $, 2004/05/01
21 */
22 public class MultiPlot2 {
23
24 /**
25 * メインメソッド
26 *
27 * @param args コマンドライン引数
28 * @throws InterruptedException 強制終了された場合
29 * @throws IOException キーボードから入力できない場合
30 */
31 @SuppressWarnings("nls")
32 public static void main(String[] args) throws InterruptedException, IOException {
33 DoubleMatrix t1 = DoubleMatrix.series(0, 4 * Math.PI, 0.05);
34 DoubleMatrix t2 = DoubleMatrix.series(0, 4 * Math.PI, 1.0);
35 DoubleMatrix s1 = t1.sinElementWise();
36 DoubleMatrix c1 = t1.cosElementWise();
37 DoubleMatrix c2 = t2.cosElementWise();
38 Gnuplot gnuplot = new Gnuplot();
39 Canvas canvas = gnuplot.createCanvas();
40 canvas.plot(t1, s1, new String[] {"sin(t)"});
41 canvas.setHolding(true);
42 canvas.plot(t1, c1, new String[] {"cos(t) (fine)"});
43 canvas.plot(t2, c2, new String[] {"cos(t) (gross)"});
44 canvas.setHolding(false);
45 Pause.pause();
46 gnuplot.close();
47 }
48 }
|