Rysowanie graficznego histogramu

Pracuję nad projektem i chciałbym wyświetlić histogram pojedynczej linii, który wygląda jak wykres słupkowy, z tym że każda linia na wykresie słupkowym przedstawia piksel i jego wartość w skali szarości.

Mam tablicę pełną wartości w skali szarości, muszę po prostu umieścić je w tym histogramie i wyświetlić linie, które będą reprezentować wartości.

IMAGE             [minimize][maximize][close]



    picture                histogram

                          I
   (Loaded Picture)       I       I
                          I  I    I
                          I  I  I I  

[open][save]

Poniżej znajduje się kod ładujący tablicę ... Potrzebuję tylko kodu, który użyje tych wartości w skali szarości i przedstawi je jako słupki jak powyżej.

 public void showImage(File fileName) {
        Scanner scan;
        try {
            scan = new Scanner(fileName);
            typefile = scan.next();
            iname = scan.next();       
            width = scan.nextInt();
            height = scan.nextInt();
            maxshade = scan.nextInt();
            array = new int[width][height];


            for(int r = 0; r < array.length; r++){
                for(int c = 0; c < array[r].length; c++){
                    array[r][c] = scan.nextInt();                       




            imageArray = array;         
            repaint();                  


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

 }

Wiem, że muszę coś zrobić ...

     int hist[] = new int[256];
     for (int r = 0; r < array.length; r++)
            for (int c = 0; c < array[r].length; c++)
                hist[array[r][c]]++;

Ale nie wiem, dokąd iść, ani jak narysować mój wykres.

questionAnswers(1)

yourAnswerToTheQuestion