Java/Advanced Graphics/Vector
Vector data Graph
<source lang="java">
import java.awt.*; import java.applet.*; import java.net.URL; import graph.*; /*************************************************************************
- Applet example1b
- Version 1.0 September 1996
-
- Copyright (C) 1996 Leigh Brookshaw
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- This is a simple applet that demonstrates how to use the basic features
- of the Plotting Class library. The data is vector data calculated
- locally by the applet
-
- /
public class example1b extends Applet {
G2Dint graph1; VectorSet data1; Axis xaxis1; Axis yaxis1; double data[]; int npx = 20; int npy = 20; Label title; public void init() { int i; int j; int count; int kount; double x, y; double data[] = new double[4*npx*npy];
/*
- Get the passed parameters
- /
String st = "TITLE";
/*
- Create the Graph instance and modify the default behaviour
- /
graph1 = new G2Dint();
// graph1.square = true;
graph1.drawzero = false; graph1.drawgrid = false; graph1.setDataBackground(new Color(255,230,200));
/*
- Build the title
- /
title = new Label(st, Label.CENTER); title.setFont(new Font("TimesRoman",Font.PLAIN,20));
this.setLayout( new BorderLayout() ); this.add("North", title); this.add("Center", graph1);
/*
- Calculate the Vector Set.
- /
count = 0; kount = 0; for(j=0; j<npy; j++) { y = -1.0 + j*2.0/((double)(npy-1)); for(i=0; i<npx; i++) { x = -1.0 + i*2.0/((double)(npx-1)); if( x*x + y*y <= 1 ) { kount++; data[count++] = x; data[count++] = y; data[count++] = x; data[count++] = y; } } } try { data1 = new VectorSet(data,kount); } catch(Exception e) { System.out.println("Failed to load Vector Set!"); } /* ** Set up the data */ graph1.borderTop = 50; graph1.borderRight = 40; data1.linecolor = Color.red; data1.legend("Standard Vector");
/*
- Attach the data set to the graph
- /
graph1.attachDataSet(data1);
/*
- Attach data set to the Xaxes
- /
xaxis1 = graph1.createXAxis(); xaxis1.attachDataSet(data1); xaxis1.setTitleText("Xaxis"); xaxis1.setTitleFont(new Font("TimesRoman",Font.PLAIN,20)); xaxis1.setLabelFont(new Font("Helvetica",Font.PLAIN,15));
/*
- Attach the data set to the YAxis
- /
yaxis1 = graph1.createYAxis(); yaxis1.attachDataSet(data1); yaxis1.setTitleText("Yaxis"); yaxis1.setTitleFont(new Font("TimesRoman",Font.PLAIN,20)); yaxis1.setLabelFont(new Font("Helvetica",Font.PLAIN,15));
}
public static void main(String[] a){ javax.swing.JFrame f = new javax.swing.JFrame(); Applet app = new example1b(); app.init(); f.getContentPane().add (app); f.pack(); f.setSize (new Dimension (500, 500)); f.setVisible(true); }
}
</source>