
Arwin A. answered 01/14/23
Software Developer Specialized and Dedicated in Java
import java.awt.*;
import javax.swing.*;
public class HistogramGeneration extends JFrame {
private int[] data;
private int[] histogram;
private int max;
public HistogramGeneration(int[] data) {
this.data = data;
generateHistogram();
setTitle("Histogram");
setSize(800, 600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void generateHistogram() {
histogram = new int[10];
max = 0;
for (int i = 0; i < data.length; i++) {
int index = data[i] / 10;
histogram[index]++;
max = Math.max(max, histogram[index]);
}
}
@Override
public void paint(Graphics g) {
super.paint(g);
int width = getWidth() / histogram.length;
for (int i = 0; i < histogram.length; i++) {
int height = histogram[i] * getHeight() / max;
g.drawRect(i * width, getHeight() - height, width, height);
}
}
public static void main(String[] args) {
int[] data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
new HistogramGeneration(data);
}
}