Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package protein;
- import java.awt.*;
- import java.awt.geom.*;
- import javax.swing.*;
- public class GraphingData extends JPanel {
- int [] data;
- final int PAD = 20;
- public GraphingData(int [] candidates){
- data = new int [candidates.length];
- data = candidates;
- }
- protected void paintComponent(Graphics g) {
- super.paintComponent(g);
- Graphics2D g2 = (Graphics2D)g;
- g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON);
- int w = getWidth();
- int h = getHeight();
- // Draw ordinate.
- g2.draw(new Line2D.Double(PAD, PAD, PAD, h-PAD));
- // Draw abcissa.
- g2.draw(new Line2D.Double(PAD, h-PAD, w-PAD, h-PAD));
- double xInc = (double)(w - 2*PAD)/(data.length-1);
- double scale = (double)(h - 2*PAD)/getMax();
- // Mark data points.
- g2.setPaint(Color.red);
- for(int i = 0; i < data.length; i++) {
- double x = PAD + i*xInc;
- double y = h - PAD - scale*data[i];
- g2.fill(new Ellipse2D.Double(x-2, y-2, 4, 4));
- }
- }
- private int getMax() {
- int max = -Integer.MAX_VALUE;
- for(int i = 0; i < data.length; i++) {
- if(data[i] > max)
- max = data[i];
- }
- return max;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment