//-------------------------------------------------------------------------- // Copyright (C) 2001 Geoffrey Furnish // Copyright (C) 2001, 2002 Alan W. Irwin // Copyright (C) 2004 Andrew Ross // // This file is part of PLplot. // // PLplot is free software; you can redistribute it and/or modify // it under the terms of the GNU Library General Public License as published by // the Free Software Foundation; version 2 of the License. // // PLplot 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 Library General Public License for more details. // // You should have received a copy of the GNU Library General Public License // along with PLplot; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // Implementation of PLplot example 12 in Java. //-------------------------------------------------------------------------- package plplot.examples; import plplot.core.*; import static plplot.core.plplotjavacConstants.*; import java.text.*; class x12 { static double y0[] = { 5., 15., 12., 24., 28., 30., 20., 8., 12., 3. }; static double[] pos = { 0.0, 0.25, 0.5, 0.75, 1.0 }; static double[] red = { 0.0, 0.25, 0.5, 1.0, 1.0 }; static double[] green = { 1.0, 0.5, 0.5, 0.5, 1.0 }; static double[] blue = { 1.0, 1.0, 0.5, 0.25, 0.0 }; PLStream pls = new PLStream(); public static void main( String[] args ) { new x12( args ); } public x12( String[] args ) { NumberFormat nf = NumberFormat.getNumberInstance(); // Change to this custom format to get stupid locale commas // separating hundreds and thousands place out of labels. DecimalFormat nf4 = new DecimalFormat( "####" ); int i; pls.parseopts( args, PL_PARSE_FULL | PL_PARSE_NOPROGRAM ); pls.init(); pls.adv( 0 ); pls.vsta(); pls.wind( 1980.0, 1990.0, 0.0, 35.0 ); pls.box( "bc", 1.0, 0, "bcnv", 10.0, 0 ); pls.col0( 2 ); pls.lab( "Year", "Widget Sales (millions)", "#frPLplot Example 12" ); pls.scmap1l( true, pos, red, green, blue ); for ( i = 0; i < 10; i++ ) { // pls.col0(i + 1); pls.col1( i / 9.0 ); pls.psty( 0 ); plfbox( ( 1980. + i ), y0[i] ); // sprintf(string, "%.0f", y0[i]); String text = nf.format( (int) ( y0[i] + 0.5 ) ); pls.ptex( ( 1980. + i + .5 ), ( y0[i] + 1. ), 1.0, 0.0, .5, text ); // sprintf(string, "%d", 1980 + i); String text1 = nf4.format( 1980 + i ); pls.mtex( "b", 1.0, ( ( i + 1 ) * .1 - .05 ), 0.5, text1 ); } pls.end(); } void plfbox( double x0, double y0 ) { double[] x = new double[4]; double[] y = new double[4]; x[0] = x0; y[0] = 0.; x[1] = x0; y[1] = y0; x[2] = x0 + 1.; y[2] = y0; x[3] = x0 + 1.; y[3] = 0.; pls.fill( x, y ); pls.col0( 1 ); pls.lsty( 1 ); pls.line( x, y ); } } //-------------------------------------------------------------------------- // End of x12.java //--------------------------------------------------------------------------