package l081124; import java.awt.Color; import fi.jyu.mit.graphics.Axis; import fi.jyu.mit.graphics.Drawable; import fi.jyu.mit.graphics.DrawableCollection; import fi.jyu.mit.graphics.Marker; import fi.jyu.mit.graphics.Mover; import fi.jyu.mit.graphics.Window; /** * Ohjelmalla piirretään kuvaaja luvuista. * Piirtämisen jälkeen merkit alkavat sataa taivaalta alas. * @author vesal * @version 28.9.2008 */ public class LuvutGraafisesti { /** * Aliohjelmalla piirretään ikkunaan kuva, jossa taulukon * jokainen alkio on kuvattuna ympyrällä. Muut mustalla, paitsi * min-arvoa pienemmät tai yhtäsuuret vihreällä ja max arvoa suuremmat * tai yhtäsuuret punaisella. * @param ikkuna johon piirretään * @param luvut taulukon alkiot * @param min luku jota pienemmät piirretään vihreällä * @param max luku jota suuremmat piirretään punaisella */ public static void piirraKuva(Window ikkuna, double[] luvut, double min, double max) { double r = 0.25; for (int i=0; i= max ) ympyra.setColor(Color.RED); if ( luvut[i] <= min ) ympyra.setColor(Color.GREEN); ikkuna.add(ympyra); } } /** * Piirretään kuvaaja luvuista. Suurimmat arvot piirretään punaisella ja * pienimmät vihreällä. * @param args ei käytössä */ public static void main(String[] args) { double luvut[] = {31,28,31,30,31,30,31,31,30,31,30,31}; Window ikkuna = new Window(600,400); double max = 31; ikkuna.scale(0,-1,luvut.length,max); ikkuna.add(new Axis(100,100,0)); piirraKuva(ikkuna,luvut,28,max); double luvut2[] = {1.9,3,2,2.4,1.2,2.6,3.2,3.1}; piirraKuva(ikkuna,luvut2,2,3); ikkuna.showWindow(); DrawableCollection oliot = (DrawableCollection)ikkuna.getSavedPath(); for (int i=0; i< oliot.getDrawables(); i++ ) { Drawable olio = oliot.getDrawable(i); if ( olio instanceof Axis ) continue; new Mover(olio,0.0,-0.1,0,200); } } }