Guest User

Untitled

a guest
May 22nd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1. package protein;
  2.  
  3. import java.awt.*;
  4. import java.awt.geom.*;
  5. import javax.swing.*;
  6.  
  7. public class GraphingData extends JPanel {
  8.        
  9.     int [] data;
  10.     final int PAD = 20;
  11.  
  12.     public GraphingData(int [] candidates){
  13.        data = new int [candidates.length];
  14.        data = candidates;
  15.     }
  16.  
  17.     protected void paintComponent(Graphics g) {
  18.         super.paintComponent(g);
  19.         Graphics2D g2 = (Graphics2D)g;
  20.         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  21.                             RenderingHints.VALUE_ANTIALIAS_ON);
  22.         int w = getWidth();
  23.         int h = getHeight();
  24.         // Draw ordinate.
  25.         g2.draw(new Line2D.Double(PAD, PAD, PAD, h-PAD));
  26.         // Draw abcissa.
  27.         g2.draw(new Line2D.Double(PAD, h-PAD, w-PAD, h-PAD));
  28.         double xInc = (double)(w - 2*PAD)/(data.length-1);
  29.         double scale = (double)(h - 2*PAD)/getMax();
  30.         // Mark data points.
  31.         g2.setPaint(Color.red);
  32.         for(int i = 0; i < data.length; i++) {
  33.             double x = PAD + i*xInc;
  34.             double y = h - PAD - scale*data[i];
  35.             g2.fill(new Ellipse2D.Double(x-2, y-2, 4, 4));
  36.         }
  37.     }
  38.  
  39.     private int getMax() {
  40.         int max = -Integer.MAX_VALUE;
  41.         for(int i = 0; i < data.length; i++) {
  42.             if(data[i] > max)
  43.                 max = data[i];
  44.         }
  45.         return max;
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment