Created
November 1, 2016 19:39
-
-
Save joakiti/952ac8b1fc9f90a3d03c67bbb90d0199 to your computer and use it in GitHub Desktop.
Histogram
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.*; import java.awt.event.*; | |
import javax.swing.*; import java.util.*; | |
class Histogram extends Frame { | |
int length; | |
int xStart; | |
int xDistance; | |
int[] y; // Vi skal lige bruge den her... | |
String[] x; | |
/** Please add exactly 4 names. */ | |
public Histogram(int[] y, String[] x) { | |
super(); | |
length = 500; | |
xStart = 50; | |
xDistance = 10; | |
this.y = y; | |
this.x = x; | |
} | |
public void coordinateSystem(Graphics g) { | |
//x-linje | |
g.drawLine(xStart, xDistance, xStart, length); | |
//y-linje | |
g.drawLine(xStart, length, length+xStart, length); | |
int k = 90; | |
/** Tegner alle tallene ude i siden */ | |
for (int i = 0; i <= 10; i++) { | |
if ( i == 0) { | |
g.drawString("100", xStart-35, xDistance+5); | |
} | |
else { | |
g.drawString(String.valueOf(k), xStart-35, 4+length/10*i); | |
k = k-10; | |
} | |
} | |
for (int i = 0; i <= 10; i++) { | |
/** Der skal oprettes en undtagelse for x-linjen i tilfælde af i = 0. y-linjen virker | |
* da alle stregerne er afhængig af xStart, men da det ikke er tilfældet med x-linjen | |
* er dette den eneste løsning. | |
**/ | |
if (i == 0) { | |
//x-linjer | |
g.drawLine(xStart-10, xDistance, xStart, xDistance); | |
//y-linjer | |
g.drawLine(xStart + length/10*i, length, xStart + length/10*i, length+10); | |
} | |
else { | |
//x-linjer | |
g.drawLine(xStart-10, length/10*i, xStart, length/10*i); | |
//y-linjer | |
g.drawLine(xStart + length/10*i, length, xStart + length/10*i, length+10); | |
} | |
} | |
} | |
void histogramLines(Graphics g) { | |
g.setColor(Color.BLACK); | |
int k = 2; | |
//Tegner søjlerne | |
for (int i = 0; i <= x.length*2; i++){ | |
if ( i == 1) { | |
g.fillRect(xStart+50*i, length-xStart, length/10, y[0]); | |
g.drawString(x[0], xStart+65, length+20); | |
} | |
else if ( i % 2 == 1) { | |
g.fillRect(xStart+50*i, length-xStart, length/10, 50); | |
} | |
} | |
// står for at skrive de ord maan gerne vil have under søjlediagrammerne. | |
for (int i = 1; i< x.length; i++){ | |
g.drawString(x[i], ((65+((xStart+xStart)*i))+xStart), length+20); | |
} | |
} | |
public void paint(Graphics g) { | |
coordinateSystem(g); | |
histogramLines(g); | |
} | |
} | |
import java.awt.*; | |
import java.awt.event.*; | |
import javax.swing.*; | |
import java.util.*; | |
public class Frame extends JComponent { | |
public Frame() { | |
JFrame window = new JFrame(); | |
window.setSize(1200, 1080); | |
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
window.getContentPane().add(this); | |
window.setVisible(true); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment